sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kan vi stille forespørgsler om indlejrede dokumenter gennem java-driver?

Hvis jeg forstår dig rigtigt, kan du finde svaret på dit spørgsmål nedenfor.

Lad os sige, at du har følgende indlejrede dokument.

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

Hvis du vil foretage forespørgsler på de indlejrede dokumenter, kan du få adgang til det indlejrede objekt ved hjælp af følgende java-kode.

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

Hvis du vil udtrække indlejret dokument fra dokumentet, kan du bruge Kort/Reducer eller Aggregationsramme.

Ian Daniel er stadig tilføjet koden for at indsætte indlejrede dokumenter, som du bad om. Du kan også besøge dette side for at se nogle detaljerede eksempler.



  1. Hvordan får man Mongoose til at liste alle dokumenter i samlingen? For at fortælle om samlingen er tom?

  2. Emoji ikke gemt korrekt i mongodb

  3. Hvordan repræsenterer man MongoDB GeoJSON-felter i et Mongoose-skema?

  4. Bedste måde at oprette forbindelse til MongoDB ved hjælp af Node.js