MongoDB दस्तावेज़ में डबल-नेस्टेड सरणी से किसी तत्व को निकालने के लिए, आप $pull ऑपरेटर का उपयोग कर सकते हैं।
अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -
> db.removeElementFromDoublyNestedArrayDemo.insertOne( ... { ... "_id" : "1", ... "UserName" : "Larry", ... "UserDetails" : [ ... { ... "UserCountryName" : "US", ... "UserLocation" : [ ... { ... "UserCityName" : "New York" ... }, ... { ... "UserZipCode" : "10001" ... } ... ] ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : "1" } > db.removeElementFromDoublyNestedArrayDemo.insertOne( ... { ... "_id" : "2", ... "UserName" : "Mike", ... "UserDetails" : [ ... { ... "UserCountryName" : "UK", ... "UserLocation" : [ ... { ... "UserCityName" : "Bangor" ... }, ... { ... "UserZipCode" : "20010" ... } ... ] ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : "2" }
संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -
> db.removeElementFromDoublyNestedArrayDemo.find().pretty();
निम्न आउटपुट है -
{ "_id" : "1", "UserName" : "Larry", "UserDetails" : [ { "UserCountryName" : "US", "UserLocation" : [ { "UserCityName" : "New York" }, { "UserZipCode" : "10001" } ] } ] } { "_id" : "2", "UserName" : "Mike", "UserDetails" : [ { "UserCountryName" : "UK", "UserLocation" : [ { "UserCityName" : "Bangor" }, { "UserZipCode" : "20010" } ] } ] }
यहाँ MongoDB दस्तावेज़ में एक डबल-नेस्टेड सरणी से एक तत्व को हटाने की क्वेरी है -
> db.removeElementFromDoublyNestedArrayDemo.update( ... { _id : "2" }, ... {$pull : {"UserDetails.0.UserLocation" : {"UserZipCode":"20010"}}} ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
आइए हम खोज () की मदद से संग्रह से दस्तावेज़ों की जाँच करें। क्वेरी इस प्रकार है -
> db.removeElementFromDoublyNestedArrayDemo.find().pretty();
निम्न आउटपुट है -
{ "_id" : "1", "UserName" : "Larry", "UserDetails" : [ { "UserCountryName" : "US", "UserLocation" : [ { "UserCityName" : "New York" }, { "UserZipCode" : "10001" } ] } ] } { "_id" : "2", "UserName" : "Mike", "UserDetails" : [ { "UserCountryName" : "UK", "UserLocation" : [ { "UserCityName" : "Bangor" } ] } ] }
अब फ़ील्ड "UserZipCode":"20010" को डबल-नेस्टेड एरे से हटा दिया गया है।