MongoDB में distinct() के साथ अद्वितीय मान प्राप्त करना
विशिष्ट मान प्राप्त करने के लिए MongoDB में distinct() का उपयोग करें। यह एकल कलेक्शन या व्यू में निर्दिष्ट फील्ड के लिए विशिष्ट मान ढूंढता है और परिणामों को ऐरे में लौटाता है।
कलेक्शन बनाना
> db.demo287.insertOne({"details":{"AllVowels":["a","u","u","o","e","a","o","i"]}});
{ "acknowledged": true, "insertedId": ObjectId("5e4c014cf49383b52759cbbd") }
डॉक्यूमेंट देखना
> db.demo287.find().pretty();
विशिष्ट मान क्वेरी
> db.demo287.distinct("details.AllVowels");परिणाम
व्याख्या
- distinct("details.AllVowels"): डॉट नोटेशन का उपयोग करके नेस्टेड फील्ड के विशिष्ट मान
- डुप्लिकेट स्वचालित रूप से हटा दिए जाते हैं (a, u, o दो-दो बार)
- परिणाम वर्णमाला क्रम में सॉर्टेड ऐरे: ["a", "e", "i", "o", "u"]
- केवल एक डॉक्यूमेंट है, लेकिन ऐरे में 8 तत्व हैं जिनमें 5 अद्वितीय हैं
अतिरिक्त उपयोग
प्रदर्शन
- फील्ड पर इंडेक्स होने पर तेज होता है
- परिणाम 16MB तक सीमित (अधिकतम BSON डॉक्यूमेंट आकार)
- बड़े परिणाम सेट के लिए एग्रीगेशन ($group) का उपयोग करें