MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

No MongoDB, como posso encontrar um documento incorporado?


Esse é o comportamento esperado.

Se você deseja consultar os campos individuais de um documento incorporado, você precisa usar a seguinte sintaxe - usando o ponto (. ) notação. Por exemplo, essas duas consultas retornam o documento:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })

Nas consultas acima, você pode especificar um, dois ou todos os campos e em qualquer ordem.

Você usa a seguinte sintaxe ao especificar o filtro para todo documento incorporado:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })

Nesse caso, observe que a ordem dos campos do documento embutido deve ser igual ao do documento original; ou seja, SHINee , "Girl's Generation" e BTS (dentro do KPOP ). E você precisa especificar todos os campos do documento incorporado.