MongoDB-এ Aggregate Pipeline-এ $avg অ্যাকুমুলেটর ব্যবহার
$avg অ্যাকুমুলেটর $group স্টেজে ব্যবহার করে একটি ফিল্ডের গড় মান বের করা যায়। _id: null দিলে সকল ডকুমেন্ট এক গ্রুপে পড়ে (গ্লোবাল গড়)।
উদাহরণ: ডেটা ইনসার্ট
> db.demo159.insertOne({"Score":50});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3557b2fdf09dd6d0853a01") }
> db.demo159.insertOne({"Score":70});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3557b6fdf09dd6d0853a02") }
> db.demo159.insertOne({"Score":60});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3557c4fdf09dd6d0853a03") }
সব ডকুমেন্ট দেখানো
> db.demo159.find();
আউটপুট:
{ "_id" : ObjectId("5e3557b2fdf09dd6d0853a01"), "Score" : 50 }
{ "_id" : ObjectId("5e3557b6fdf09dd6d0853a02"), "Score" : 70 }
{ "_id" : ObjectId("5e3557c4fdf09dd6d0853a03"), "Score" : 60 }
গড় বের করার কোয়ারি
> db.demo159.aggregate([{$group: {_id:null, AverageValue: {$avg:"$Score"} } }])
আউটপুট:
{ "_id" : null, "AverageValue" : 60 }
ব্যাখ্যা
{_id:null}— কোনো গ্রুপিং কী নেই, সকল ডকুমেন্ট একসাথে।AverageValue: {$avg: "$Score"}— Score ফিল্ডের গড়।- ফলাফল: (50+70+60)/3 = 60।
বিস্তারিত: গোষ্ঠীवार গড় বের করতে {_id: "$category", AverageValue: {$avg: "$Score"}} ব্যবহার করুন। $avg null বা অনুপস্থিত ফিল্ডকে বাদ দেয়।