$group এবং $sum ব্যবহার করে মার্কস অনুযায়ী গ্রুপিং এবং কাউন্ট
MongoDB Aggregation-এ $group স্টেজে _id-এ ফিল্ড নির্দেশ করে এবং $sum: 1 দিয়ে প্রতিটি গ্রুপের ডকুমেন্ট সংখ্যা (কাউন্ট) বের করা যায়।
নমুনা সংগ্রহ তৈরি
> db.demo676.insertOne({"Marks":87});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea41eed04263e90dac943f2") }
> db.demo676.insertOne({"Marks":75});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea41ef304263e90dac943f3") }
> db.demo676.insertOne({"Marks":87});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea41ef404263e90dac943f4") }
> db.demo676.insertOne({"Marks":65});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea41ef704263e90dac943f5") }
> db.demo676.insertOne({"Marks":65});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea41ef804263e90dac943f6") }
সব ডকুমেন্ট দেখানো
> db.demo676.find();
আউটপুট:
Marks অনুযায়ী গ্রুপ করে কাউন্ট বের করা
> db.demo676.aggregate( { $group: { _id: {Marks: "$Marks" }, 'Count': { $sum :1 } }})ফলাফল:
ব্যাখ্যা: _id: {Marks: "$Marks"} দিয়ে Marks ফিল্ড অনুযায়ী গ্রুপ করা হয়েছে। $sum: 1 দিয়ে প্রতিটি গ্রুপে কতটি ডকুমেন্ট আছে সেটি গণনা করা হয়েছে। 87 এবং 65 দুবার করে এসেছে, 75 একবার।