MongoDB में सरणी-आधारित फ़ील्ड्स में अद्वितीय आइटम्स को गिनने के लिए, aggregate() के साथ $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:
> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","Java"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849f97b0f3fa88e22790c4") }
> db.demo493.insertOne({"SubjectName":["C++","MongoDB","C"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849fa4b0f3fa88e22790c5") }
> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","C"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849fb2b0f3fa88e22790c6") }
find() मेथड की मदद से संग्रह के सभी दस्तावेज़ प्रदर्शित करें:
> db.demo493.find();
यह निम्न आउटपुट देगा:
{ "_id" : ObjectId("5e849f97b0f3fa88e22790c4"), "SubjectName" : [ "MySQL", "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e849fa4b0f3fa88e22790c5"), "SubjectName" : [ "C++", "MongoDB", "C" ] }
{ "_id" : ObjectId("5e849fb2b0f3fa88e22790c6"), "SubjectName" : [ "MySQL", "MongoDB", "C" ] }
सभी दस्तावेज़ों में सरणी-आधारित फ़ील्ड्स में अद्वितीय आइटम्स गिनने के लिए क्वेरी:
> db.demo493.aggregate([
{ $unwind: "$SubjectName" },
{ $group: { _id: "$SubjectName", Frequency: { $sum : 1 } } }
]);
यह निम्न आउटपुट देगा:
{ "_id" : "C++", "Frequency" : 1 }
{ "_id" : "C", "Frequency" : 2 }
{ "_id" : "Java", "Frequency" : 1 }
{ "_id" : "MySQL", "Frequency" : 2 }
{ "_id" : "MongoDB", "Frequency" : 3 }