কম্পিউটার টিউটোরিয়াল

MongoDB-তে _id: null দিয়ে গ্রুপ করে গড় মান বের করা

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 মানে কোনো গ্রুপিং কী নেই — সকল ডকুমেন্ট একই গ্রুপে।

  1. MongoDB-এ null মান ইন্ডেক্স করা (Unique Index with Null)

  2. MongoDB-তে নেস্টেড ডকুমেন্ট মান অনুসন্ধান

  3. MongoDB-এ নির্দিষ্ট ডকুমেন্টের ফিল্ড ইনক্রিমেন্ট করা ($inc অপারেটর)

  4. MongoDB-তে ডট নোটেশন ব্যবহার করে নেস্টেড ডকুমেন্ট আপডেট করা