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

MongoDB में ऑब्जेक्ट-ऐरे से खाली ऑब्जेक्ट हटाने की क्वेरी

MongoDB में $pull ऑपरेटर का उपयोग करके खाली ऑब्जेक्ट हटाएं

MongoDB में किसी ऐरे के अंदर मौजूद खाली ऑब्जेक्ट्स को हटाने के लिए $pull ऑपरेटर का उपयोग किया जाता है। यह ऑपरेटर निर्दिष्ट शर्त से मेल खाने वाले सभी ऐरे एलिमेंट्स को हटा देता है।

उदाहरण: संग्रह बनाना और डेटा डालना

सबसे पहले एक संग्रह बनाते हैं जिसमें एक खाली ऑब्जेक्ट शामिल हो:

> db.removeEmptyObjectsDemo.insertOne(
    {
        "_id": 101,
        "LoginDate": new ISODate(),
        "UserDetails": [
            { "UserName": "John" },
            {},
            { "UserName": "Sam" }
        ]
    }
);
{ "acknowledged": true, "insertedId": 101 }

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

संग्रह के सभी डॉक्यूमेंट्स देखने के लिए find() मेथड का उपयोग करें:

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

आउटपुट:

{
    "_id": 101,
    "LoginDate": ISODate("2019-05-25T04:46:29.505Z"),
    "UserDetails": [
        { "UserName": "John" },
        {},
        { "UserName": "Sam" }
    ]
}

खाली ऑब्जेक्ट हटाने की क्वेरी

$pull ऑपरेटर के साथ $exists: false शर्त का उपयोग करके उन ऑब्जेक्ट्स को हटाएं जिनमें UserName फ़ील्ड नहीं है:

> db.removeEmptyObjectsDemo.update(
    {},
    { "$pull": { "UserDetails": { "UserName": { "$exists": false } } } },
    { "multi": true }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

परिणाम जांचना

फिर से find() चलाकर देखें कि खाली ऑब्जेक्ट हटा दिया गया है:

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

आउटपुट:

{
    "_id": 101,
    "LoginDate": ISODate("2019-05-25T04:46:29.505Z"),
    "UserDetails": [
        { "UserName": "John" },
        { "UserName": "Sam" }
    ]
}

इस तरह $pull ऑपरेटर की मदद से आप ऐरे के अंदर मौजूद खाली ऑब्जेक्ट्स को आसानी से हटा सकते हैं।

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

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

  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 क्वेरी: कलेक्शन से पूरा ऐरे हटाएं

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