MongoDbのようなデータ表示。mongodbのオブジェクト配列のデータフィールドを見つけよう
{
"_id" : ObjectId("57b1fc8b6ad888063048e72e"),
"createdprojectName" : "Buffer Stock",
"createdprojectData" : [
{
"Status" : "OnAir",
"No" : "1",
"Site_Name" : "hjghjgjhg",
"Site_ID" : "gjhgjhg",
"OnAir_Target_Date" : "2016-08-01",
"Region" : "1",
"OnAir_Actual_Date" : "2016-08-10",
"G2_3G_4G" : "2G"
},
{
"Status" : "TE WIP",
"No" : "2",
"Site_Name" : "sadsdssd",
"Site_ID" : "dvvs",
"OnAir_Target_Date" : "2016-08-01",
"Region" : "1",
"OnAir_Actual_Date" : "",
"G2_3G_4G" : "2G"
},
{
"Status" : "OnAir",
"No" : "1",
"Site_Name" : "sadsadsdadadadsadsad",
"OnAir_Target_Date" : "2016-07-01",
"Site_ID" : "sadsad",
"OnAir_Actual_Date" : "2016-07-13",
"Region" : "1",
"G2_3G_4G" : "3G"
}],
"createdprojectChechByManager" : "false"
}
は、私がデータフィールド上でのみStatus
= OnAir
データのフィルタリングを見つけたいです。上記のデータをフィルタリングした後、Status
= TE WIP
データオブジェクトなしで表示する必要があります。どのように私はmongodbクエリを使用して検索クエリを作成します。
BasicDBObject findQuery = new BasicDBObject();
BasicDBObject elemMatch = new BasicDBObject();
DBObject statusQuery = new BasicDBObject("Status", "OnAir");
DBObject fields = new BasicDBObject("$elemMatch", statusQuery);
DBObject query = new BasicDBObject("createdprojectData",fields);
findQuery.put("createdprojectData", 1);
DBCursor cursor = collection.find(query, findQuery);
user3807112 @ました私はあなたの問題を解決することができますか? – user641887