फील्ड्स को मर्ज/कंबाइन करके काउंट करने के लिए $group के साथ $sum और $sort का उपयोग करें।
नमूना डेटा बनाना (विषयों के साथ)
> db.demo647.insertOne({"Subject":"MySQL"});
> db.demo647.insertOne({"Subject":"MongoDB"});
> db.demo647.insertOne({"Subject":"MySQL"});
> db.demo647.insertOne({"Subject":"SQL Server"});
> db.demo647.insertOne({"Subject":"MongoDB"});
> db.demo647.insertOne({"Subject":"PL/SQL"});
> db.demo647.insertOne({"Subject":"MongoDB"});
सभी दस्तावेज़ देखना
> db.demo647.find();
{ "Subject" : "MySQL" }, { "Subject" : "MongoDB" }, { "Subject" : "MySQL" }, { "Subject" : "SQL Server" }, { "Subject" : "MongoDB" }, { "Subject" : "PL/SQL" }, { "Subject" : "MongoDB" }
फील्ड्स मर्ज करके काउंट और सॉर्ट करने की क्वेरी (टॉप 2)
> db.demo647.aggregate([
{ "$group": { "_id": "$Subject", "COUNT": { "$sum": 1 } } },
{ "$sort": { "COUNT": -1 } },
{ "$limit": 2 }
] );
परिणाम (सबसे अधिक बार आने वाले टॉप 2):
{ "_id" : "MongoDB", "COUNT" : 3 }
{ "_id" : "MySQL", "COUNT" : 2 }
व्याख्या: $group Subject द्वारा समूहित करता है और $sum: 1 से गिनती करता है। $sort: {COUNT: -1} अवरोही क्रम में सॉर्ट करता है। $limit: 2 केवल टॉप 2 परिणाम लौटाता है।