To je očekávané chování.
Pokud se chcete dotazovat na jednotlivá pole vloženého dokumentu, musíte použít následující syntaxi – pomocí tečky (.
) zápis. Oba tyto dotazy například vrátí dokument:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
Ve výše uvedených dotazech můžete zadat jedno, dvě nebo všechna pole a v libovolném pořadí.
Při zadávání filtru pro celek použijete následující syntaxi vložený dokument:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
V tomto případě mějte na paměti, že pořadí polí vložený dokument musí být stejný jako původní dokument; tj. SHINee
, "Girl's Generation"
a BTS
(v rámci KPOP
). A musíte zadat vše pole vloženého dokumentu.