इसके लिए $elemMatch का उपयोग $set के साथ करें
आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> dbkeyValueDemoinsertOne( { "_id" : new ObjectId(), "CustomerDetails" : [ { "Name" : "Chris", "Age" :24, }, { "Name" : "Robert", "Age" :29, }, { "Name" : "David", "Age" :35, } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5cefcf36ef71edecf6a1f6bf") }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> dbkeyValueDemofind()pretty();
आउटपुट
{ "_id" : ObjectId("5cefcf36ef71edecf6a1f6bf"), "CustomerDetails" : [ { "Name" : "Chris", "Age" : 24 }, { "Name" : "Robert", "Age" : 29 }, { "Name" : "David", "Age" : 35 } ] }
यहां कुंजी मान को अपडेट करने की क्वेरी है जहां अलग-अलग कुंजी कुछ मान के बराबर होती है -
> dbkeyValueDemoupdate( {"CustomerDetails":{"$elemMatch":{"Name":"David"}}}, {"$set":{"CustomerDetails$Age":56}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 } )
आइए एक बार फिर से दस्तावेज़ की जाँच करें -
> dbkeyValueDemofind()pretty();
आउटपुट
{ "_id" : ObjectId("5cefcf36ef71edecf6a1f6bf"), "CustomerDetails" : [ { "Name" : "Chris", "Age" : 24 }, { "Name" : "Robert", "Age" : 29 }, { "Name" : "David", "Age" : 56 } ] }