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

MongoDB में विशिष्ट मानों की गिनती करना (distinct count)

distinct() और length का उपयोग

किसी फील्ड के **अद्वितीय (distinct) मानों की संख्या** गिनने के लिए, distinct() मेथड (जो अद्वितीय मानों की सरणी लौटाता है) पर length प्रॉपर्टी एक्सेस करें।

सिंटैक्स

db.yourCollectionName.distinct("yourFieldName").length;

उदाहरण: डेटा डालना (डुप्लिकेट नाम के साथ)

> db.countDistinctDemo.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6166de8cc557214c0dfa") }
> db.countDistinctDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd616ade8cc557214c0dfb") }
> db.countDistinctDemo.insertOne({"StudentName":"Chris"}); // डुप्लिकेट
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd616cde8cc557214c0dfc") }
> db.countDistinctDemo.insertOne({"StudentName":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6170de8cc557214c0dfd") }
> db.countDistinctDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6175de8cc557214c0dfe") }
> db.countDistinctDemo.insertOne({"StudentName":"Carol"}); // डुप्लिकेट
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6181de8cc557214c0dff") }

दस्तावेज़ देखना

> db.countDistinctDemo.find().pretty();

आउटपुट (6 दस्तावेज़, 4 अद्वितीय नाम):


अद्वितीय मान गिनना

> db.countDistinctDemo.distinct("StudentName").length;
4

व्याख्या: distinct("StudentName") सरणी ["John", "Chris", "Carol", "David"] लौटाता है (क्रम भिन्न हो सकता है)। इसकी .length 4 है।

बड़े संग्रह के लिए: एग्रीगेशन पाइपलाइन {$group: {_id: "$StudentName"}}, {$count: "total"} अधिक स्केलेबल है क्योंकि distinct के पास परिणाम आकार सीमा (16MB) होती है।

  1. - MongoDB क्वेरी: डिस्टिंक्ट सेलेक्ट करें और काउंट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo586.insertOne({ details: [ { Name:Chris, Marks:71 }, { Name:Chris, Marks:61 }, { Name:David, Marks:81 } ] }); { acknowledged : true, insertedId : ObjectId(5e9200fefd2d90c177b5bcc7) } > db.demo586.insertOne({

  1. - MongoDB में कर्सर इटरेशन काउंट करना

    MongoDB शेल में while लूप और hasNext()/next() का उपयोग करके कर्सर इटरेशन गिनें। डेमो डेटा > db.demo724.insertOne({ details: { id:101, otherDetails:[ {Name:Chris} ] } }); > db.demo724.insertOne({ }); > db.demo724.insertOne({ details: { id:1001 } }); काउंट स्क्रिप्ट > var c = db.demo724.

  1. - MySQL में मान के अनुसार COUNT - विशिष्ट मान की घटनाओं की गणना

    समाधान: COUNT() के साथ IF() किसी कॉलम में विशिष्ट मान की घटनाओं की गणना करने के लिए COUNT() के साथ IF() फ़ंक्शन का उपयोग करें। सिंटैक्स SELECT COUNT(IF(yourColumnName = specificValue, 1, NULL)) FROM yourTableName; व्यावहारिक उदाहरण टेबल बनाना और डेटा डालना (2016-04-12, 1, NULL); डेटा Ship