To jest oczekiwane zachowanie.
Jeśli chcesz zapytać o poszczególne pola osadzonego dokumentu, musisz użyć następującej składni - używając kropki (.
) notacja. Na przykład oba te zapytania zwracają dokument:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
W powyższych zapytaniach możesz określić jedno, dwa lub wszystkie pola i w dowolnej kolejności.
Podczas określania filtra dla całości używa się następującej składni osadzony dokument:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
W takim przypadku zwróć uwagę, że kolejność pól osadzonego dokumentu musi być taka sama jak oryginalnego dokumentu; np. SHINee
, "Girl's Generation"
i BTS
(w KPOP
). Musisz też określić wszystkie pola osadzonego dokumentu.