MongoDB aggregate() में $group का उपयोग करके कलेक्शन को एग्रीगेट करें और फील्ड काउंट के अनुसार ग्रुप करें।
नमूना डेटा बनाना
> db.demo616.insertOne({"details":{"Name":"Chris","Age":21}});
> db.demo616.insertOne({"details":{"Name":"Chris","Age":22}});
> db.demo616.insertOne({"details":{"Name":"Bob","Age":23}});
> db.demo616.insertOne({"details":{"Name":"Sam","Age":21}});
> db.demo616.insertOne({"details":{"Name":"Chris","Age":24}});
सभी दस्तावेज़ देखना
> db.demo616.find();
{ "details" : { "Name" : "Chris", "Age" : 21 } }
{ "details" : { "Name" : "Chris", "Age" : 22 } }
{ "details" : { "Name" : "Bob", "Age" : 23 } }
{ "details" : { "Name" : "Sam", "Age" : 21 } }
{ "details" : { "Name" : "Chris", "Age" : 24 } }
एग्रीगेशन और ग्रुप बाय फील्ड काउंट क्वेरी
> db.demo616.aggregate( [
{ $group:{_id:"$details.Name",Total:{$sum:1}}}
] );
परिणाम:
{ "_id" : "Sam", "Total" : 1 }
{ "_id" : "Bob", "Total" : 1 }
{ "_id" : "Chris", "Total" : 3 }
व्याख्या: $group में _id: "$details.Name" नाम के अनुसार समूहित करता है, और $sum: 1 प्रत्येक नाम की घटनाओं को गिनता है। Chris 3 बार आता है, Bob और Sam एक-एक बार।