MongoDB অগ্রিগেশনে $group স্টেজে _id: null ব্যবহার করে সকল ডকুমেন্টকে একসাথে গ্রুপ করে গড় (average) মান বের করা যায়।
সিনট্যাক্স
db.yourCollectionName.aggregate([
{ $group: { _id: null, "anyFieldName": { $avg: "$yourFieldName" } } }
]);
নমুনা ডেটা তৈরি করা
caculateTheAverageValueDemo কালেকশনে পাঁচটি ডকুমেন্ট ইনসার্ট করি যাতে Population ফিল্ড থাকে।
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68a197924bb85b3f4895f") }
> db.caculateTheAverageValueDemo.insertOne({"Population":500});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68a1c7924bb85b3f48960") }
> db.caculateTheAverageValueDemo.insertOne({"Population":200});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68a237924bb85b3f48961") }
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68a297924bb85b3f48962") }
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68a2e7924bb85b3f48963") }
সকল ডকুমেন্ট দেখানো
> db.caculateTheAverageValueDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd68a197924bb85b3f4895f"), "Population" : 100 }
{ "_id" : ObjectId("5cd68a1c7924bb85b3f48960"), "Population" : 500 }
{ "_id" : ObjectId("5cd68a237924bb85b3f48961"), "Population" : 200 }
{ "_id" : ObjectId("5cd68a297924bb85b3f48962"), "Population" : 100 }
{ "_id" : ObjectId("5cd68a2e7924bb85b3f48963"), "Population" : 100 }
গড় মান বের করা
> db.caculateTheAverageValueDemo.aggregate([{ $group: { _id: null, "AveragePopulation": { $avg: "$Population" } } }]);
আউটপুট:
{ "_id" : null, "AveragePopulation" : 200 }
গণনা: (100 + 500 + 200 + 100 + 100) / 5 = 1000 / 5 = 200। _id: null মানে কোনো গ্রুপিং কী নেই — সকল ডকুমেন্ট একই গ্রুপে।