MongoDB में $pull और $[ ] से नेस्टेड सरणी अपडेट करें
आइए एक संग्रह बनाते हैं:
> db.demo412.insertOne(
{
"Information1" : [
{ "Information2" : [ "John", "David" ] },
{ "Information2" : [ "Mike" ] }
]
}
); { "acknowledged" : true, "insertedId" : ObjectId("5e70f38b15dc524f70227683") }
find() से सभी दस्तावेज़ प्रदर्शित करें:
> db.demo412.find();
आउटपुट:
ऑब्जेक्ट की सरणी के भीतर नेस्टेड स्ट्रिंग सरणी को अपडेट करने का क्वेरी ("Mike" हटाएं):
> db.demo412.updateMany( { _id: ObjectId("5e70f38b15dc524f70227683") }, { $pull : { 'Information1.$[].Information2' : "Mike" } } ); { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }फिर से
find()से दस्तावेज़ प्रदर्शित करें:> db.demo412.find();आउटपुट:
व्याख्या:
$[ ](ऑल पोजिशनल ऑपरेटर) सरणी के सभी तत्वों को इंगित करता है।$pullनिर्दिष्ट मान ("Mike") को प्रत्येक नेस्टेडInformation2सरणी से हटा देता है।