MongoDB में $pull और $in से ऐरे में मल्टीपल ऑब्जेक्ट्स रिमूव करना
MongoDB में ऐरे से एक साथ कई ऑब्जेक्ट्स हटाने के लिए $pull ऑपरेटर के साथ $in का उपयोग करें।
उदाहरण: कॉम्प्लेक्स ऐरे वाला डॉक्यूमेंट बनाना
> 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" } ] }
"Online Book Store" और "Online Pig Dice Game" वाले ऑब्जेक्ट्स रिमूव करना
> 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" } ] }
व्याख्या:
$in: ["val1", "val2"]- दी गई सूची में से किसी भी वैल्यू से मैच$pull- मैचिंग एलिमेंट्स को ऐरे से हटा देता है- दोनों प्रोजेक्ट्स एक ही ऑपरेशन में हट गए
संबंधित ऑपरेटर्स:
$pullAll- सिंपल वैल्यूज की ऐरे के लिए (ऑब्जेक्ट्स के लिए नहीं)$elemMatch- कॉम्प्लेक्स कंडीशन्स के साथ मैच- MongoDB 3.6+ में
$pullमें एग्रीगेशन एक्सप्रेशन भी उपयोग कर सकते हैं