Dat is het verwachte gedrag.
Als u de afzonderlijke velden van een ingesloten document wilt opvragen, moet u de volgende syntaxis gebruiken - met behulp van de punt (.
) notatie. Beide query's retourneren bijvoorbeeld het document:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
In de bovenstaande zoekopdrachten kunt u één, twee of alle velden en . specificeren in willekeurige volgorde.
U gebruikt de volgende syntaxis bij het specificeren van het filter voor het geheel ingesloten document:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
Houd er in dit geval rekening mee dat de volgorde van de velden van het ingesloten document moet hetzelfde zijn als dat van het originele document; d.w.z. SHINee
, "Girl's Generation"
en BTS
(binnen de KPOP
). En u moet alle . specificeren de velden van het ingesloten document.