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

MongoDB में सरणी के भीतर दस्तावेज़ हटाने के लिए $pull का उपयोग कैसे करें?


$pull ऑपरेटर के साथ अपडेट करना

किसी सरणी फ़ील्ड से विशिष्ट शर्त मिलान करने वाले तत्वों (दस्तावेज़ों) को हटाने के लिए update() के साथ $pull का उपयोग करें। multi: true (या updateMany()) सभी मिलान दस्तावेज़ों पर लागू करता है।

उदाहरण: सरणी ऑफ़ दस्तावेज़ के साथ संग्रह

> db.deleteDocumentsDemo.insertOne( 
    { 
        "_id": 100, 
        "StudentsDetails" : [ 
            { "StudentId": 1, "StudentName": "John" }, 
            { "StudentId": 2, "StudentName": "Carol" }, 
            { "StudentId": 3, "StudentName": "Sam" }, 
            { "StudentId": 4, "StudentName": "Mike" } 
        ] 
    } 
); 
{ "acknowledged" : true, "insertedId" : 100 }

> db.deleteDocumentsDemo.insertOne( 
    { 
        "_id": 200, 
        "StudentsDetails" : [ 
            { "StudentId": 5, "StudentName": "David" }, 
            { "StudentId": 6, "StudentName": "Ramit" }, 
            { "StudentId": 7, "StudentName": "Adam" }, 
            { "StudentId": 8, "StudentName": "Larry" } 
        ] 
    } 
); 
{ "acknowledged" : true, "insertedId" : 200 }

हटाने से पहले देखना

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

StudentName "David" वाले तत्व को सभी दस्तावेज़ों की सरणी से हटाना

> db.deleteDocumentsDemo.update( 
    {}, 
    { $pull: { StudentsDetails: { StudentName: "David" } } }, 
    { multi: true } 
); 
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 1 })

सत्यापन

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

आउटपुट: _id 200 वाले दस्तावेज़ की StudentsDetails सरणी से StudentId 5 (David) हटा दिया गया है। _id 100 अपरिवर्तित रहता है (क्योंकि उसमें David नहीं था)।

मुख्य बिंदु:

  • $pull सरणी से **मिलान करने वाले सभी** तत्वों को हटाता है (सिर्फ पहला नहीं)।
  • multi: true (या updateMany()) संग्रह के **सभी** दस्तावेज़ों पर ऑपरेशन लागू करता है।
  • आधुनिक सिंटैक्स: db.collection.updateMany({}, { $pull: { StudentsDetails: { StudentName: "David" } } })।
  1. - MongoDB में $type का उपयोग कैसे करें?

    $type उन दस्तावेज़ों का चयन करता है जहां फ़ील्ड का मान निर्दिष्ट BSON प्रकार का उदाहरण होता है। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo615.insert({"Value":100}); WriteResult({ "nInserted" : 1 }) > db.demo615.insert({"Value":"100"}); WriteResul

  1. - MongoDB में Document से Array Value Delete करना

    Array values delete करने के लिए MongoDB में $pull का उपयोग करें। $pull operator existing array से उन सभी instances को remove करता है जो specified condition से match करते हैं। Collection बनाना > db.demo535.insertOne( ... { ... studentId : 101, ... studentName : Chris, ... ListOfMailIds : [

  1. - MongoDB में सरणी के भीतर मिलान ऑब्जेक्ट्स की संख्या के आधार पर डॉक्यूमेंट्स कैसे ढूंढें?

    आइए एक उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo694.insertOne( ... { details : [ { Name : Chris, Age:21 }, { Name : David, Age:22 } ] } ); { acknowledged : true, insertedId : ObjectId(5ea59279ece4e5779399c07f) } > db.demo694.insertOne( ... { details : [ { Name :