एक सरणी से कई ऑब्जेक्ट खींचने के लिए, आप $pull ऑपरेटर का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.pullMultipleObjectsDemo.insertOne( ... { ... "ClientId" : "100", ... "ClientName" : "John", ... "ClientPersonalDetails" : [ ... { ... "ClientCountryName" : "US", ... "ClientProjectName" : "Online Book Store", ... ... }, ... { ... "ClientCountryName" : "AUS", ... "ClientProjectName" : "Online Fee Management", ... ... }, ... { ... "ClientCountryName" : "UK", ... "ClientProjectName" : "Online Pig Dice Game", ... ... }, ... { ... "ClientCountryName" : "ANGOLA", ... "ClientProjectName" : "Online Hospital Management", ... ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cc7d0748f9e6ff3eb0ce43d") }
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.pullMultipleObjectsDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5cc7d0748f9e6ff3eb0ce43d"), "ClientId" : "100", "ClientName" : "John", "ClientPersonalDetails" : [ { "ClientCountryName" : "US", "ClientProjectName" : "Online Book Store" }, { "ClientCountryName" : "AUS", "ClientProjectName" : "Online Fee Management" }, { "ClientCountryName" : "UK", "ClientProjectName" : "Online Pig Dice Game" }, { "ClientCountryName" : "ANGOLA", "ClientProjectName" : "Online Hospital Management" } ] }
एक सरणी से कई ऑब्जेक्ट खींचने के लिए क्वेरी निम्नलिखित है -
> db.pullMultipleObjectsDemo.update( ... {"_id": ObjectId("5cc7d0748f9e6ff3eb0ce43d")}, ... {"$pull":{"ClientPersonalDetails":{"ClientProjectName":{$in:["Online Book Store","Online Pig Dice Game"]}}}} ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
वस्तुओं को एक सरणी से हटा दिया गया है या नहीं, यह जांचने के लिए संग्रह से सभी दस्तावेज़ प्रदर्शित करते हैं। क्वेरी इस प्रकार है -
> db.pullMultipleObjectsDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5cc7d0748f9e6ff3eb0ce43d"), "ClientId" : "100", "ClientName" : "John", "ClientPersonalDetails" : [ { "ClientCountryName" : "AUS", "ClientProjectName" : "Online Fee Management" }, { "ClientCountryName" : "ANGOLA", "ClientProjectName" : "Online Hospital Management" } ] }
उपरोक्त नमूना आउटपुट को देखें, सरणी से कई ऑब्जेक्ट हटा दिए गए हैं।