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

MongoDB में ऐरे से एलिमेंट मिलान करके हटाएं

MongoDB में $pullAll ऑपरेटर का उपयोग करके ऐरे से मान निकालना

$pullAll ऑपरेटर एक ऐरे से निर्दिष्ट सभी मानों के सभी उदाहरणों को हटा देता है। यह $pull के समान है लेकिन एकाधिक मानों के लिए अधिक सुविधाजनक है।

सैंपल डेटा बनाना

> db.removeElementsDemo.insertOne({"ListOfNames":["Mike","Sam","David","Carol"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e071e5a25ddae1f53b62203") }

दस्तावेज़ देखना (अपडेट से पहले)

> db.removeElementsDemo.find().pretty();

आउटपुट:


$pullAll के साथ "Carol" हटाना

> db.removeElementsDemo.update(
    { },
    { $pullAll: { "ListOfNames": ["Carol"] } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

अपडेटेड दस्तावेज़ देखना

> db.removeElementsDemo.find().pretty();

आउटपुट:


$pullAll vs $pull

विशेषता$pullAll$pull
सिंटैक्स{ $pullAll: { field: [value1, value2] } }{ $pull: { field: value } } या { $pull: { field: { condition } } }
एकाधिक मानहां, ऐरे के रूप मेंशर्त के साथ संभव
शर्तेंनहीं (सटीक मिलान)हां (क्वेरी शर्तें)
उदाहरणमानों की सूची हटाएंशर्त पूरी करने वाले सभी हटाएं

एकाधिक मान हटाना

> db.removeElementsDemo.update(
    { },
    { $pullAll: { "ListOfNames": ["Carol", "Sam"] } }
);

शर्त के साथ हटाने के लिए $pull

> db.collection.update(
    { },
    { $pull: { scores: { $lt: 50 } } }  // 50 से कम सभी स्कोर हटाएं
);

नोट

  • उदाहरण में deprecated update() उपयोग किया गया है, आधुनिक MongoDB में updateOne() या updateMany() उपयोग करें
  • खाली फ़िल्टर { } कलेक्शन के पहले दस्तावेज़ को अपडेट करता है
  • सभी दस्तावेज़ों को अपडेट करने के लिए updateMany({}, ...) उपयोग करें
  1. - MongoDB में Subdocument को Document से Remove करना

    Document से subdocument remove करने के लिए $pull operator का उपयोग update() के साथ करें। आइए पहले documents के साथ एक collection बनाते हैं: > db.demo538.insertOne( ... { ... id:101, ... details : ... { ... anotherDetails: ... [ ... { ... Name:Chris, ... Age:21

  1. - MongoDB Array में Element Remove करना

    Element remove करने के लिए update में $pull का उपयोग करें। $pull operator existing array से उन सभी instances को remove करता है जो specified condition से match करते हैं। Collection बनाना db.demo541.insertOne({software:{services:[gmail,facebook,yahoo]}}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB क्वेरी: कलेक्शन से पूरा ऐरे हटाएं

    कलेक्शन से पूरा ऐरे हटाने के लिए, MongoDB में $unset का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo609.insertOne({ListOfSubject:[MySQL,MongoDB]}); { acknowledged : true, insertedId : ObjectId(5e974695f57d0dc0b182d62c) } > db.demo609.insertOne({ListOfSubject:[Java]}); { a