MongoDB distinct() मेथड: SQL SELECT DISTINCT के समकक्ष
MongoDB में distinct() मेथड का उपयोग करके किसी फ़ील्ड के यूनिक वैल्यू प्राप्त कर सकते हैं, ठीक SQL के SELECT DISTINCT की तरह।
कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"John","Age":23});
{ "acknowledged": true, "insertedId": ObjectId("5cd12759e3526dbddbbfb60b") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12768e3526dbddbbfb60c") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"David","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12773e3526dbddbbfb60d") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd1277ee3526dbddbbfb60e") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Sam","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12793e3526dbddbbfb60f") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd127a3e3526dbddbbfb610") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd127aae3526dbddbbfb611") }
सभी डॉक्यूमेंट देखें
> db.distinctNameAndAgeDemo.find().pretty();
{
"_id": ObjectId("5cd12759e3526dbddbbfb60b"),
"ClientFirstName": "John",
"Age": 23
}
{
"_id": ObjectId("5cd12768e3526dbddbbfb60c"),
"ClientFirstName": "Larry",
"Age": 25
}
{
"_id": ObjectId("5cd12773e3526dbddbbfb60d"),
"ClientFirstName": "David",
"Age": 25
}
{
"_id": ObjectId("5cd1277ee3526dbddbbfb60e"),
"ClientFirstName": "Carol",
"Age": 26
}
{
"_id": ObjectId("5cd12793e3526dbddbbfb60f"),
"ClientFirstName": "Sam",
"Age": 25
}
{
"_id": ObjectId("5cd127a3e3526dbddbbfb610"),
"ClientFirstName": "Larry",
"Age": 25
}
{
"_id": ObjectId("5cd127aae3526dbddbbfb611"),
"ClientFirstName": "Carol",
"Age": 26
}
SQL समकक्ष क्वेरी: उम्र 25 वालों के यूनिक नाम
SQL: SELECT DISTINCT(name) FROM collectionName WHERE age = "25"
> db.distinctNameAndAgeDemo.distinct("ClientFirstName", {"Age": 25});
["Larry", "David", "Sam"]
व्याख्या
- पहला पैरामीटर: फ़ील्ड नाम जिसके यूनिक वैल्यू चाहिए
- दूसरा पैरामीटर (वैकल्पिक): फ़िल्टर क्वेरी
- उम्र 25 वाले तीन यूनिक नाम मिले: Larry, David, Sam
- डुप्लिकेट (Larry दो बार) ऑटोमैटिकली हट गए