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

MongoDB में $addToSet से डुप्लिकेट एलिमेंट्स के बिना वैल्यू प्रदर्शित करें

$addToSet ऑपरेटर से ऐरे में यूनिक वैल्यूज़ जोड़ें

$addToSet ऑपरेटर ऐरे में एक वैल्यू तभी जोड़ता है जब वह पहले से मौजूद न हो, इस प्रकार डुप्लिकेट से बचाता है। एग्रीगेशन में $addToSet एक्यूमुलेटर का उपयोग करके कई डॉक्यूमेंट्स के ऐरे वैल्यूज़ को एक यूनिक सेट में संयोजित किया जा सकता है।

उदाहरण: संग्रह बनाना

> db.getDistinctDemo.insertOne({"Values": [100, 200]});
{ "acknowledged": true, "insertedId": ObjectId("5cef69f9ef71edecf6a1f69d") }
> db.getDistinctDemo.insertOne({"Values": [300, 100]});
{ "acknowledged": true, "insertedId": ObjectId("5cef6a07ef71edecf6a1f69e") }

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

> db.getDistinctDemo.find().pretty();
{
    "_id": ObjectId("5cef69f9ef71edecf6a1f69d"),
    "Values": [100, 200]
}
{
    "_id": ObjectId("5cef6a07ef71edecf6a1f69e"),
    "Values": [300, 100]
}

एग्रीगेशन में $addToSet का उपयोग

सभी डॉक्यूमेंट्स के Values ऐरे को एक सेट में संयोजित करें (डुप्लिकेट हटाकर):

> db.getDistinctDemo.aggregate([
    {
        "$group": {
            "_id": 0,
            "MyValues": { "$addToSet": "$Values" }
        }
    }
]);

आउटपुट:

{ "_id": 0, "MyValues": [[300, 100], [100, 200]] }

नोट: यहां $addToSet पूरे ऐरे को एलिमेंट के रूप में जोड़ता है, न कि ऐरे के अलग-अलग एलिमेंट्स को। यदि आप ऐरे के एलिमेंट्स को फ़्लैट करके यूनिक सेट चाहते हैं, तो पहले $unwind करें फिर $addToSet।

  1. - MongoDB में सरणी के अंदर सरणी के लिए $addToSet लागू करें और मान जोड़ें

    इसके लिए, $addToSet के साथ update() का उपयोग करें। $addToSet ऑपरेटर मान को सरणी में जोड़ता है जब तक कि मान पहले से मौजूद न हो, जिस स्थिति में यह उस सरणी के लिए कुछ नहीं करता। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo509.insertOne( { value1 : [ { value2 : [

  1. - MongoDB में Array Elements के साथ Specific Document Fetch करना

    MongoDB में किसी specific document को fetch करने के लिए find() मेथड में dot notation का उपयोग करें। आइए documents के साथ एक collection बनाते हैं: > db.demo672.insertOne({Brand:[{CategoryName:Mobile,Name:Oppo}]}); { acknowledged : true, insertedId : ObjectId(5ea3ea9b04263e90dac943e5) } > db.dem

  1. - MongoDB में फॉर लूप के साथ मान कैसे पुश करें?

    मान पुश करने के लिए फॉर लूप के साथ save() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > for(var v=1; v<7; v++) { ... db.demo739.save({Name:Chris,SubjectName:MongoDB}); ... } WriteResult({ nInserted : 1 }) find() से सभी डॉक्यूमेंट्स देखें: > db.demo739.find(); आउटपुट (6 डॉक्यूमेंट्स डाले गए): { _