MongoDB में डॉट नोटेशन का उपयोग करके नेस्टेड ऑब्जेक्ट की विशिष्ट कुंजी तक पहुंचना
MongoDB में किसी नेस्टेड ऑब्जेक्ट के भीतर विशिष्ट कुंजी (की) के मान को प्राप्त करने के लिए, प्रोजेक्शन में डॉट नोटेशन का उपयोग करें।
नमूना डेटा बनाना
> db.demo305.insertOne(
{
_id: 101,
FirstName : 'Chris',
details : {
"0":"102",
"1":"10001"
}
}
);
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo305.insertOne(
{
_id: 102,
FirstName : 'David',
details : {
"0":"103",
"1":"10002"
}
}
);
{ "acknowledged" : true, "insertedId" : 102 }
सभी दस्तावेज़ प्रदर्शित करना
> db.demo305.find();
आउटपुट:
{ "_id" : 101, "FirstName" : "Chris", "details" : { "0" : "102", "1" : "10001" } }
{ "_id" : 102, "FirstName" : "David", "details" : { "0" : "103", "1" : "10002" } }
विशिष्ट कुंजी द्वारा चाइल्ड मान प्राप्त करने की क्वेरी
_id: 102 वाले दस्तावेज़ में details ऑब्जेक्ट की कुंजी "0" का मान प्राप्त करें।
> db.demo305.find({_id:102},{'details.0':1});
आउटपुट:
{ "_id" : 102, "details" : { "0" : "103" } }
व्याख्या
{_id:102}- फ़िल्टर: केवल _id 102 वाला दस्तावेज़।{'details.0':1}- प्रोजेक्शन: केवलdetailsऑब्जेक्ट की कुंजी"0"को शामिल करें (1का अर्थ शामिल करना)।_idडिफ़ॉल्ट रूप से शामिल होता है।
यह तकनीक तब उपयोगी होती है जब आपको किसी नेस्टेड ऑब्जेक्ट से केवल एक विशिष्ट कुंजी-मान जोड़ी की आवश्यकता होती है, पूरे ऑब्जेक्ट की नहीं।