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

mongodb che accede ai documenti secondari

Questo non è in realtà. La prima query, db.users.find({"user":{"login":"tester"}}); , significa che stai cercando un user che equivale a {"login":"tester"} oggetto completamente, non un utente con login il campo è uguale a tester . C'è un documento che corrisponde a quel criterio e quel documento è stato effettivamente restituito come risultato della query.

Allo stesso modo, la seconda query, db.users.find({"user":{"name":"anil"}}); , significa che stai cercando un user che equivale a {"name":"anil"} oggetto completamente. Non esiste un tale user . Esiste un documento che corrisponde parzialmente alla tua richiesta ma non è sufficiente.

Se stai cercando un user con name è uguale a anil , usa Notazione punto per accedere al documento secondario, come hai fatto nel secondo gruppo di query.

Sì. questo è il modo corretto.