我想從mongo子文檔中找到特定的字段值,但是它檢索全數據或空值。我正在使用mongo 3.0.1驅動程序。 mongo特定驅動程序的語法有沒有問題?
JSON數據是:如何從mongo中的子文檔獲取特定值
{
"Demo": {
"Demo Data": {
"Building": {
"A": 1,
"B": 2,
"C": 3,
"D": 4,
},
"Mode": "Building"
}
}
}
的代碼如下:
DBCollection collection = db.getCollection("demo");
BasicDBObject field = new BasicDBObject();
BasicDBObject document = new BasicDBObject();
field1.put("_id", 0);
field1.put("Demo", 1);
DBCursor cursor = collection.find(document, field);
BasicDBObject object = new BasicDBObject();
BasicDBObject Mode = new BasicDBObject();
while (cursor.hasNext()) {
object = (BasicDBObject) cursor.next();
Mode.put("Mode", object.get(Mode));
System.out.println("Mode value is"+Mode);
}
,但使用上面的代碼中,輸出作爲表示:
Mode value is {"Mode":null}
要求是獲得下面的輸出: {"Mode": "Building"}
。
請指明條件出錯的地方。謝謝你的幫助。
正在使用哪個版本的Mongo Java驅動程序? –
@ CS_noob:我正在使用版本mongo-3.0.1 java驅動 –