MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Recherche de documents imbriqués dans MongoDB

Si je comprends bien, vous avez une structure de document comme celle-ci :

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

Donc, si vous avez besoin de trouver un utilisateur expéditeur avec userID =34345, il vous suffit de faire ce qui suit (je pense juste que c'est le cas, car en fait je travaille avec le pilote c# pour 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

Consultez également le tutoriel pour pilote Java