Det er den forventede adfærd.
Hvis du vil forespørge på et indlejret dokuments individuelle felt(er), skal du bruge følgende syntaks - ved hjælp af prikken (.
) notation. For eksempel returnerer begge disse forespørgsler dokumentet:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
I ovenstående forespørgsler kan du angive et, to eller alle felterne og i vilkårlig rækkefølge.
Du bruger følgende syntaks, når du angiver filteret for hele indlejret dokument:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
I dette tilfælde skal du bemærke, at rækkefølgen af felterne af det indlejrede dokument skal være det samme som det originale dokument; dvs. SHINee
, "Girl's Generation"
og BTS
(inden for KPOP
). Og du skal angive alle felterne i det indlejrede dokument.