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

MongoDB में $pull से ऐरे एलिमेंट (जो डॉक्यूमेंट है) हटाएं

MongoDB में $pull ऑपरेटर से ऐरे के ऑब्जेक्ट एलिमेंट हटाना

$pull ऑपरेटर ऐरे से उन एलिमेंट को हटाता है जो निर्दिष्ट कंडीशन से मैच करते हैं। जब ऐरे एलिमेंट डॉक्यूमेंट (ऑब्जेक्ट) हों, तो मैच कंडीशन में फ़ील्ड निर्दिष्ट करें।

कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें

> db.pullAnArrayElementDemo.insertOne({
  "StudentDetails": [
    {"StudentFirstName": "Chris", "StudentScore": 56},
    {"StudentFirstName": "Robert", "StudentScore": 59}
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3b55bedc6604c74817cd5") }

डॉक्यूमेंट देखें

> db.pullAnArrayElementDemo.find().pretty();
{
  "_id": ObjectId("5cd3b55bedc6604c74817cd5"),
  "StudentDetails": [
    {"StudentFirstName": "Chris", "StudentScore": 56},
    {"StudentFirstName": "Robert", "StudentScore": 59}
  ]
}

StudentFirstName = "Chris" वाला एलिमेंट हटाएं

> db.pullAnArrayElementDemo.update(
  {},
  {$pull: {'StudentDetails': {'StudentFirstName': 'Chris'}}}
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

हटाने के बाद चेक करें

> db.pullAnArrayElementDemo.find().pretty();
{
  "_id": ObjectId("5cd3b55bedc6604c74817cd5"),
  "StudentDetails": [
    {"StudentFirstName": "Robert", "StudentScore": 59}
  ]
}

व्याख्या

  • {} - खाली क्वेरी (पहला डॉक्यूमेंट)
  • $pull: {StudentDetails: {StudentFirstName: "Chris"}} - StudentDetails ऐरे में जहां StudentFirstName "Chris" हो, वह एलिमेंट हटाएं
  • मल्टीपल मैच होने पर सभी हट जाते हैं

वेरिएशन

// एकाधिक कंडीशन (AND)
{$pull: {StudentDetails: {StudentFirstName: "Chris", StudentScore: {$gt: 50}}}}

// $in से कई वैल्यू
{$pull: {StudentDetails: {StudentFirstName: {$in: ["Chris", "Robert"]}}}}

// सभी डॉक्यूमेंट से हटाएं (multi: true)
db.collection.updateMany({}, {$pull: {StudentDetails: {StudentFirstName: "Chris"}}})
  1. - MongoDB में कैसे पता करें कि एलिमेंट दस्तावेज़ में मौजूद है?

    MongoDB दस्तावेज़ में एलिमेंट मौजूद है या नहीं जांचने के लिए MongoDB $exists का उपयोग करें। नमूना डेटा बनाना db.demo497.insertOne({details:[{}]}); सभी दस्तावेज़ देखना db.demo497.find(); { details : [ { Name : Chris }, { Name : Bob } ] } { details : [ { Name : Carol } ] } { details : [ { } ] } द

  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 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(