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

MongoDB में ऐरे एलिमेंट्स की टॉप काउंट कैसे मेंटेन करें?

MongoDB एग्रीगेशन से ऐरे एलिमेंट्स की फ्रीक्वेंसी गिनना

MongoDB में ऐरे एलिमेंट्स की फ्रीक्वेंसी गिनकर टॉप N एलिमेंट्स प्राप्त करने के लिए एग्रीगेशन पाइपलाइन का उपयोग करें।

उदाहरण: कलेक्शन और डॉक्यूमेंट्स बनाना

> db.topCountArrayDemo.insertOne(
...   {"StudentId":101 , "StudentSubject": ["C", "MongoDB"]}
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6b3209cb58ca2b005e669") }
> db.topCountArrayDemo.insertOne(
...   {"StudentId":102 , "StudentSubject": ["C", "Java"]}
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6b3219cb58ca2b005e66a") }
> db.topCountArrayDemo.insertOne(
...   {"StudentId":103 , "StudentSubject": ["C", "MongoDB"]}
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5cc6b3229cb58ca2b005e66b") }

सभी डॉक्यूमेंट्स देखना

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

आउटपुट:

{ "_id" : ObjectId("5cc6b3209cb58ca2b005e669"), "StudentId" : 101, "StudentSubject" : [ "C", "MongoDB" ] }
{ "_id" : ObjectId("5cc6b3219cb58ca2b005e66a"), "StudentId" : 102, "StudentSubject" : [ "C", "Java" ] }
{ "_id" : ObjectId("5cc6b3229cb58ca2b005e66b"), "StudentId" : 103, "StudentSubject" : [ "C", "MongoDB" ] }

टॉप 2 सबसे कॉमन सब्जेक्ट्स खोजना

> db.topCountArrayDemo.aggregate(
...   [
...     { $unwind: "$StudentSubject" },
...     { $group: { _id: "$StudentSubject", Frequency: {$sum: 1} } },
...     { $sort: {Frequency:-1} },
...     { $limit: 2 }
...   ]
... ).pretty();

आउटपुट:

{ "_id" : "C", "Frequency" : 3 }
{ "_id" : "MongoDB", "Frequency" : 2 }

पाइपलाइन स्टेप्स समझ:

  1. $unwind - ऐरे को डी-कंस्ट्रक्ट करता है, प्रत्येक एलिमेंट के लिए अलग डॉक्यूमेंट बनाता है
  2. $group - सब्जेक्ट द्वारा ग्रुप करता है और फ्रीक्वेंसी गिनता है
  3. $sort - फ्रीक्वेंसी के अनुसार डिसेंडिंग क्रम में सॉर्ट करता है
  4. $limit - टॉप 2 परिणाम लौटाता है
  1. - MongoDB एग्रीगेशन: ऐरे के सबसेट एलिमेंट्स को जोड़ें

    ऐरे के सबसेट एलिमेंट्स को एक साथ जोड़ने के लिए, $first के साथ $sum का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo610.insertOne({Values:[10,20,30,40,50]}); { acknowledged : true, insertedId : ObjectId(5e9747b8f57d0dc0b182d62e) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज

  1. - MongoDB दस्तावेज़ों में विशिष्ट फ़ील्ड के ऐरे एलिमेंट्स काउंट करना

    किसी फ़ील्ड में ऐरे एलिमेंट्स की संख्या गिनने के लिए $size ऑपरेटर का उपयोग करें। डेमो डेटा > db.demo723.insertOne({Subject:[MySQL,MongoDB]}); > db.demo723.insertOne({Subject:[C]}); > db.demo723.insertOne({Subject:[C++,Java,Python]}); क्वेरी db.demo723.aggregate([ { $project: { count:

  1. - C# में दो-आयामी सरणी से तत्वों तक कैसे पहुंचें

    2-आयामी सरणी को एक टेबल के रूप में सोचा जा सकता है, जिसमें x संख्या में पंक्तियां और y संख्या में कॉलम होते हैं। 2-आयामी सरणी में एक तत्व को सबस्क्रिप्ट्स का उपयोग करके एक्सेस किया जाता है। यानी, सरणी की पंक्ति इंडेक्स और कॉलम इंडेक्स। int x = a[1,1]; Console.WriteLine(x); आइए एक उदाहरण देखें जो द