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

¿Cómo encontrar el registro coincidente en mongodb?

Este es el comportamiento del filtrado de documentos incrustados de varios niveles; normalmente, el filtro coincidente devolvería el documento completo, no los subconjuntos.

Por lo general, positional operator $ utilizado para hacer coincidir los subdocumentos en updates . Pero la característica aún no está implementada en los especificadores de devolución.

Ya hay un problema pendiente en mongo Soporte para el operador posicional ($) en los campos para devolver el especificador . (Inicie sesión para votar si realmente necesita la función)

Así que tienes que rediseñar tu esquema para manejar esto, puede ser así

db.test.insert({"person" : [ { "id":1, "details" : { "name" : "Aswini", "Age" : 10 }}]})
db.test.insert({"person" : [ { "id":2, "details" : { "name" : "Mahesh", "Age" : 11}}]})

db.test.find({"person.id":1},{'person.details':1})