অন্য ডকুমেন্টে একই ID থাকলে সেগুলো গ্রুপ করতে $group স্টেজ ব্যবহার করুন। উদাহরণ:
> db.demo602.insertOne({id:1,Name:"Chris"});
> db.demo602.insertOne({id:2,Name:"David"});
> db.demo602.insertOne({id:1,Name:"Bob"});
> db.demo602.insertOne({id:3,Name:"Mike"});
> db.demo602.insertOne({id:2,Name:"John"});
> db.demo602.insertOne({id:1,Name:"Sam"});
সব ডকুমেন্ট দেখুন:
> db.demo602.find();
এগെগেশন কোয়েরি:
> db.demo602.aggregate([
{ $group: { _id: {id:"$id", "Name" : "$Name"}, "count" : { "$sum": 1 }}},
{ $group: { _id: "$_id.id", "ListOfName" : {"$push" : {Name:"$_id.Name", Frequency: "$count"}}}},
], { 'allowDiskUse': true });
আউটপুট:
{ "_id" : 2, "ListOfName" : [ { "Name" : "John", "Frequency" : 1 }, { "Name" : "David", "Frequency" : 1 } ] }
{ "_id" : 3, "ListOfName" : [ { "Name" : "Mike", "Frequency" : 1 } ] }
{ "_id" : 1, "ListOfName" : [ { "Name" : "Sam", "Frequency" : 1 }, { "Name" : "Bob", "Frequency" : 1 }, { "Name" : "Chris", "Frequency" : 1 } ] }