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

En MongoDB, ¿cómo puedo encontrar un documento que está incrustado?

Ese es el comportamiento esperado.

Si desea consultar los campos individuales de un documento incrustado, debe usar la siguiente sintaxis:usar el punto (. ) notación. Por ejemplo, ambas consultas devuelven el documento:

db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })

En las consultas anteriores, puede especificar uno, dos o todos los campos y en cualquier orden.

Utiliza la siguiente sintaxis al especificar el filtro para el todo documento incrustado:

db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })

En este caso, tenga en cuenta que el orden de los campos del documento incrustado debe ser el mismo que el del documento original; es decir, SHINee , "Girl's Generation" y BTS (dentro del KPOP ). Y debe especificar todos los campos del documento incrustado.