यही अपेक्षित व्यवहार है।
यदि आप किसी एम्बेडेड दस्तावेज़ के अलग-अलग फ़ील्ड को क्वेरी करना चाहते हैं, तो आपको निम्न सिंटैक्स का उपयोग करने की आवश्यकता है - डॉट (.
का उपयोग करके) ) अंकन। उदाहरण के लिए, ये दोनों प्रश्न दस्तावेज़ लौटाते हैं:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
उपरोक्त प्रश्नों में, आप एक, दो या सभी फ़ील्ड निर्दिष्ट कर सकते हैं और किसी भी क्रम में।
संपूर्ण . के लिए फ़िल्टर निर्दिष्ट करते समय आप निम्न सिंटैक्स का उपयोग करते हैं एम्बेडेड दस्तावेज़:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
इस मामले में, ध्यान दें कि फ़ील्ड का क्रम एम्बेडेड दस्तावेज़ का मूल दस्तावेज़ के समान होना चाहिए; यानी, SHINee
, "Girl's Generation"
और BTS
(KPOP
. के भीतर ) और, आपको सभी . निर्दिष्ट करने की आवश्यकता है एम्बेडेड दस्तावेज़ के क्षेत्र।