MongoDB में distinct() का उपयोग करके अद्वितीय मान प्राप्त करना
MongoDB में किसी फ़ील्ड के सभी अद्वितीय (distinct) मान प्राप्त करने के लिए distinct() विधि का उपयोग करें। यह डुप्लिकेट मानों को स्वचालित रूप से हटा देता है।
नमूना डेटा बनाना
> db.demo303.insertOne({FirstName:"Chris",LastName:"Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea0f6f8647eb59e56202f") }
> db.demo303.insertOne({FirstName:"John",LastName:"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea104f8647eb59e562030") }
> db.demo303.insertOne({FirstName:"Chris",LastName:"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea10df8647eb59e562031") }
> db.demo303.insertOne({FirstName:"John",LastName:"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea121f8647eb59e562032") }
> db.demo303.insertOne({FirstName:"David",LastName:"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea136f8647eb59e562033") }
सभी दस्तावेज़ प्रदर्शित करना
> db.demo303.find().pretty();
आउटपुट:
{
"_id" : ObjectId("5e4ea0f6f8647eb59e56202f"),
"FirstName" : "Chris",
"LastName" : "Brown"
}
{
"_id" : ObjectId("5e4ea104f8647eb59e562030"),
"FirstName" : "John",
"LastName" : "Doe"
}
{
"_id" : ObjectId("5e4ea10df8647eb59e562031"),
"FirstName" : "Chris",
"LastName" : "Smith"
}
{
"_id" : ObjectId("5e4ea121f8647eb59e562032"),
"FirstName" : "John",
"LastName" : "Smith"
}
{
"_id" : ObjectId("5e4ea136f8647eb59e562033"),
"FirstName" : "David",
"LastName" : "Miller"
}
अद्वितीय FirstName मान प्राप्त करने की क्वेरी
> db.demo303.distinct("FirstName");
आउटपुट:
[ "Chris", "John", "David" ]
मुख्य बिंदु
distinct("fieldName")निर्दिष्ट फ़ील्ड के सभी अद्वितीय मानों की सरणी लौटाता है।- यह क्वेरी फ़िल्टर के साथ भी काम करता है:
distinct("field", {query})। - बड़े डेटासेट पर प्रदर्शन के लिए संबंधित फ़ील्ड पर इंडेक्स बनाएं।
- परिणाम सरणी का क्रम अनिर्दिष्ट होता है।
यह विधि ड्रॉपडाउन सूचियों, फ़िल्टर विकल्पों, या विश्लेषण के लिए अद्वितीय मान प्राप्त करने के लिए आदर्श है।