MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie können wir eingebettete Dokumente über den Java-Treiber abfragen?

Wenn ich Sie richtig verstehe, finden Sie die Antwort auf Ihre Frage unten.

Angenommen, Sie haben das folgende verschachtelte Dokument.

{ "key1" : "value1",
  "key2" : {
             "key21" : "value21",
             "key22" : "value22"
           }
}

Wenn Sie die verschachtelten Dokumente abfragen möchten, können Sie mit dem folgenden Java-Code auf das eingebettete Objekt zugreifen.

DBCollection coll = db.getCollection("collectionName");
BasicDBObject query = new BasicDBObject();
query.put("key2.key21", new BasicDBObject("$eq", "value21"));
DBCursor cur = coll.find(query);

Wenn Sie ein eingebettetes Dokument aus dem Dokument extrahieren möchten, können Sie Map/Reduce verwenden oder Aggregationsframework.

Ian Daniel hat noch den Code hinzugefügt, um verschachtelte Dokumente einzufügen, die Sie gefragt haben. Sie können auch dieses besuchen Seite, um einige detaillierte Beispiele zu sehen.