sql >> Database >  >> NoSQL >> MongoDB

Hoe kunnen we een vraag stellen voor ingesloten documenten via Java-stuurprogramma?

Als ik je goed begrijp, kun je het antwoord op je vraag hieronder vinden.

Stel dat u het volgende geneste document heeft.

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

Als u een query wilt maken op de geneste documenten, kunt u toegang krijgen tot het ingesloten object met behulp van de volgende Java-code.

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

Als u een ingesloten document uit het document wilt extraheren, kunt u Map/Reduce gebruiken of Aggregatieraamwerk.

Ian Daniel heeft nog steeds de code toegevoegd om geneste documenten in te voegen waar je om hebt gevraagd. Je kunt ook dit bezoeken pagina om enkele gedetailleerde voorbeelden te zien.



  1. Mongo $addToSet met meerdere waarden correcte syntaxis

  2. MongoDB BSON-limiet voor documentgrootte begrijpen

  3. mangoest dwingt uniek attribuut af op subdocumenteigenschap

  4. Mongodb crashte met ongeldige toegang op adres - segmentatiefoutsignaal 11 - versie 2.6