MongoDB में किसी फील्ड के विशिष्ट मान वाले दस्तावेज़ों के _id (या अन्य फील्ड) की सरणी प्राप्त करने के लिए distinct() मेथड का उपयोग करें। यह निर्दिष्ट फील्ड के विशिष्ट मान सरणी के रूप में लौटाता है।
उदाहरण
विषयों की सरणी वाले दस्तावेज़ बनाएं:
> db.projectionListDemo.insertOne({"_id":"1","Subject":["MongoDB","MySQL","Java"]});
{ "acknowledged" : true, "insertedId" : "1" }
> db.projectionListDemo.insertOne({"_id":"2","Subject":["MongoDB","C","C++"]});
{ "acknowledged" : true, "insertedId" : "2" }
> db.projectionListDemo.insertOne({"_id":"3","Subject":["Java","Python"]});
{ "acknowledged" : true, "insertedId" : "3" }
दस्तावेज़ देखें:
> db.projectionListDemo.find().pretty();
{ "_id" : "1", "Subject" : [ "MongoDB", "MySQL", "Java" ] }
{ "_id" : "2", "Subject" : [ "MongoDB", "C", "C++" ] }
{ "_id" : "3", "Subject" : [ "Java", "Python" ] }
Subject में "MongoDB" वाले दस्तावेज़ों के _id सरणी के रूप में प्राप्त करें
> db.projectionListDemo.distinct('_id', {'Subject': 'MongoDB'});
आउटपुट:
[ "1", "2" ]
distinct() सिंटैक्स:
db.collection.distinct(field, query)
field- जिस फील्ड के विशिष्ट मान चाहिएquery- वैकल्पिक फिल्टर क्वेरी
उपयोग के मामले:
- ड्रॉपडाउन विकल्पों के लिए विशिष्ट मान प्राप्त करना
- किसी शर्त को पूरा करने वाले दस्तावेज़ों के ID सूची प्राप्त करना
- डेटा विश्लेषण के लिए अद्वितीय मानों की सूची
नोट: distinct() सरणी फील्ड के साथ भी काम करता है - यह सरणी के अंदर के व्यक्तिगत मानों को अलग-अलग मानता है।