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

MongoDB indlejrede dokumenter søgning

Som jeg forstår har du dokumentstruktur som denne:

{
   "someProperty" : 1,
   "sendingUser" : {
               userID : 34343,
               name : "Joe Bloggs"
             },
   "recivingUser" : {
               userID : 34345,
               name : "Joe Bloggs"
             }
}

Så hvis du har brug for at finde afsendende bruger med bruger-ID =34345, skal du bare gøre følgende (jeg tror bare det er sådan, fordi jeg faktisk arbejder med c# driver til mongo):

    DBCollection coll = db.getCollection("privateMessages")

    query = new BasicDBObject();

    query.put("sendingUser.userID", new BasicDBObject("$eq", 34345)); 

    cur = coll.find(query); // all documents with  sendingUser.userID = 34345 will be //returned by cursor

Se også selvstudiet for java-driver



  1. Find element baseret på to værdier

  2. Har MongoDB en måde at opdatere et dokument på uden at slette eksisterende elementer, der ikke er indeholdt i opdateringsdataene

  3. Indsæt element i indlejrede arrays i MongoDB

  4. Hvad er nyt i MongoDB 4.4