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

mongodb accéder aux sous-documents

Ce n'est pas le cas. La première requête, db.users.find({"user":{"login":"tester"}}); , signifie que vous recherchez un user qui équivaut à {"login":"tester"} objet complètement, pas un utilisateur avec login champ est égal à tester . Il y a un document qui correspond à ce critère et ce document est en fait renvoyé comme résultat de la requête.

De même, la deuxième requête, db.users.find({"user":{"name":"anil"}}); , signifie que vous recherchez un user qui est égal à {"name":"anil"} objet complètement. Il n'y a pas un tel user . Il y a un document qui correspond partiellement à votre requête mais ce n'est pas suffisant.

Si vous cherchez un user avec name est égal à anil , utilisez la notation par points pour accéder au sous-document, comme vous l'avez fait dans votre deuxième groupe de requêtes.

Oui. c'est la bonne manière.