Je souhaite trouver la valeur de champ spécifique du sous-document mongo, mais en recherchant la valeur complète ou la valeur null. J'utilise le pilote mongo 3.0.1. Y at-il un problème avec la syntaxe pour le pilote spécifique mongo.
données JSON est:Comment obtenir une valeur spécifique à partir d'un sous-document dans mongo
{
"Demo": {
"Demo Data": {
"Building": {
"A": 1,
"B": 2,
"C": 3,
"D": 4,
},
"Mode": "Building"
}
}
}
Le code est comme ci-dessous:
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);
}
mais en utilisant code ci-dessus, la sortie montrant que:
Mode value is {"Mode":null}
L'exigence est d'obtenir les éléments suivants sortie: {"Mode": "Building"}
.
Veuillez spécifier où la condition s'est mal passée. Merci pour toute aide.
Quelle version du pilote Java Mongo est utilisée? –
@CS_noob: J'utilise la version mongo-3.0.1 pilote java –