Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में ऐरे से मल्टीपल ऑब्जेक्ट्स कैसे पुल करें?

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 में एग्रीगेशन एक्सप्रेशन भी उपयोग कर सकते हैं
  1. - MongoDB कलेक्शन में ऑब्जेक्ट्स के ऐरे को कैसे खोजें?

    MongoDB में ऑब्जेक्ट्स के ऐरे को खोजने के लिए find() मेथड का उपयोग करें। find() मेथड एक कलेक्शन या व्यू में दस्तावेज़ों को चुनता है और चयनित दस्तावेज़ों के लिए एक कर्सर लौटाता है। उदाहरण के लिए डेटा बनाना आइए कुछ नमूना दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं: db.demo484.insertOne( ... { id : 1, de

  1. - क्या MongoDB में ऑब्जेक्ट्स के ऐरे को खोज सकते हैं?

    हां, MongoDB में ऑब्जेक्ट्स के ऐरे को खोजने के लिए aggregate() में $unwind का उपयोग करें। मिलान के लिए $match का उपयोग करें। नमूना डेटा बनाना db.demo623.insertOne( { _id:1, details:[ { Name:Chris }, { DueDate:new ISODate(2020-01-10) }, { CountryName:US } ] } ); दस्तावेज़ देखना

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn