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

MongoDB में केवल यूनिक रिकॉर्ड्स प्रदर्शित करना और डुप्लिकेट्स को अनदेखा करना

किसी फ़ील्ड के विशिष्ट मान प्राप्त करने के लिए distinct() मेथड का उपयोग करें।

डेमो डेटा

> db.demo613.insertOne({"Name":"Chris"});
> db.demo613.insertOne({"Name":"Bob"});
> db.demo613.insertOne({"Name":"Bob"});
> db.demo613.insertOne({"Name":"David"});
> db.demo613.insertOne({"Name":"Chris"});
> db.demo613.insertOne({"Name":"Sam"});

क्वेरी

> db.demo613.distinct("Name");

परिणाम

[ "Chris", "Bob", "David", "Sam" ]

distinct() केवल फ़ील्ड के यूनिक मान लौटाता है, पूरा दस्तावेज़ नहीं। पूरे दस्तावेज़ के लिए $group उपयोग करें।

  1. - MongoDB कलेक्शन से डुप्लिकेट कैसे हटाएं?

    MongoDB कलेक्शन में डुप्लिकेट दस्तावेज़ों को रोकने के लिए, आप उस फ़ील्ड पर एक यूनिक इंडेक्स बना सकते हैं जो यूनिक होना चाहिए। unique: true विकल्प का उपयोग करें और साथ में dropDups: true (नोट: MongoDB 3.0+ में dropDups हटा दिया गया है; इसके बजाय डुप्लिकेट्स को मैन्युअली हटाएं)। सिंटैक्स db.yourColle

  1. - MongoDB में $project का उपयोग करके सरणी में केवल विशिष्ट फील्ड प्रदर्शित करें और अन्य फील्ड्स को अनदेखा करें

    विशिष्ट फील्ड प्रदर्शित करने के लिए $project के साथ $unwind का उपयोग करें। किसी फील्ड को अनदेखा करने के लिए उसे 0 पर सेट करें। आइए एक कलेक्शन बनाते हैं: > db.demo731.insertOne({ ProductInformation: [ { ProductId:Product-1, ProductPrice:80 }, { ProductId:Product-2, ProductPrice:45 }, { ProductId:

  1. - नेस्टेड MongoDB डॉक्यूमेंट्स से केवल कीज़ कैसे प्रदर्शित करें?

    आइए एक कलेक्शन बनाते हैं: > db.demo740.insertOne({ details: [ { Name:Chris, Age:21, CountryName:US }, { Name:Bob, Age:20, CountryName:UK, isMarried:true } ] }); { acknowledged : true, insertedId : ObjectId(5ead700c57bb72a10bcf066d) } find() से सभी डॉक्यूमेंट्स देखें: > db.demo740.find(); आउटप