sql >> Base de Datos >  >> NoSQL >> MongoDB

mongodb accediendo a subdocumentos

Esto no es en realidad. La primera consulta, db.users.find({"user":{"login":"tester"}}); , significa que estás buscando un user eso equivale a {"login":"tester"} objeto completamente, no un usuario con login el campo es igual a tester . Hay un documento que coincide con ese criterio y ese documento realmente se devolvió como resultado de la consulta.

Del mismo modo, la segunda consulta, db.users.find({"user":{"name":"anil"}}); , significa que estás buscando un user que equivale a {"name":"anil"} objeto por completo. No existe tal user . Hay un documento que coincide parcialmente con su consulta, pero no es suficiente.

Si estás buscando un user con name es igual a anil , use Notación de puntos para acceder al subdocumento, como lo hizo en su segundo grupo de consultas.

Sí. esta es la forma correcta.