MongoDB-এ কোনো নির্দিষ্ট ফিল্ডের গড় (average) মান বের করতে aggregate() মেথডের সাথে $avg অপারেটর ব্যবহার করা হয়।
কলেকশন এবং ডকুমেন্ট তৈরি
> db.demo214.insertOne({"Marks":56,"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e319403d395bdc2134705") }
> db.demo214.insertOne({"Marks":86,"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e319c03d395bdc2134706") }
> db.demo214.insertOne({"Marks":78,"Name":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e31a403d395bdc2134707") }
সব ডকুমেন্ট দেখানো
> db.demo214.find();
আউটপুট:
{ "_id" : ObjectId("5e3e319403d395bdc2134705"), "Marks" : 56, "Name" : "David" }
{ "_id" : ObjectId("5e3e319c03d395bdc2134706"), "Marks" : 86, "Name" : "Bob" }
{ "_id" : ObjectId("5e3e31a403d395bdc2134707"), "Marks" : 78, "Name" : "Carol" }
গড় মান বের করার কোয়ারী
$group স্টেজে _id: null দিয়ে সব ডকুমেন্ট গ্রুপ করা হয়েছে এবং $avg দিয়ে "Marks" ফিল্ডের গড় বের করা হয়েছে:
> db.demo214.aggregate([
... {
... $group: {
... "_id": null,
... AverageValue: { $avg: "$Marks" }
... }
... }
... ])
ফলাফল
{ "_id" : null, "AverageValue" : 73.33333333333333 }
ব্যাখ্যা: (৫৬ + ৮৬ + ৭৮) / ৩ = ৭৩.৩৩
টিপস: যদি আপনি কোনো নির্দিষ্ট শর্ত অনুযায়ী গড় বের করতে চান, তবে $group-এর আগে $match স্টেজ যোগ করুন।