Itulah perilaku yang diharapkan.
Jika Anda ingin menanyakan bidang individual dokumen yang disematkan, Anda perlu menggunakan sintaks berikut - menggunakan titik (.
) notasi. Misalnya, kedua kueri ini mengembalikan dokumen:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
Dalam kueri di atas, Anda dapat menentukan satu, dua, atau semua bidang dan dalam urutan apa pun.
Anda menggunakan sintaks berikut saat menentukan filter untuk keseluruhan dokumen yang disematkan:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
Dalam hal ini, perhatikan bahwa urutan bidang dokumen yang disematkan harus sama dengan dokumen aslinya; yaitu, SHINee
, "Girl's Generation"
dan BTS
(dalam KPOP
). Dan, Anda perlu menentukan semua bidang dokumen yang disematkan.