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

MongoDB-এ aggregate() এবং $sum ব্যবহার করে যোগফল (Sum) বের করা


MongoDB এগ্রিগেশন পাইপলাইনে $group এবং $sum দিয়ে মোট যোগফল বের করা

MongoDB-এ একটি কালেকশনের সব ডকুমেন্টের একটি সংখ্যাগত ফিল্ডের মোট যোগফল (Total Sum) বের করতে $group স্টেজের ভেতরে $sum অ্যাকিউমুলেটর ব্যবহার করা হয়।

১. কালেকশন ও নমুনা ডেটা তৈরি

> db.demo337.insertOne({"Amount":100});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5231e5f8647eb59e56209b") }
> db.demo337.insertOne({"Amount":500});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5231e9f8647eb59e56209c") }
> db.demo337.insertOne({"Amount":400});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5231ebf8647eb59e56209d") }

২. সব ডকুমেন্ট দেখানো

> db.demo337.find();

আউটপুট:

{ "_id" : ObjectId("5e5231e5f8647eb59e56209b"), "Amount" : 100 }
{ "_id" : ObjectId("5e5231e9f8647eb59e56209c"), "Amount" : 500 }
{ "_id" : ObjectId("5e5231ebf8647eb59e56209d"), "Amount" : 400 }

৩. এগ্রিগেশন কোয়েরি: Amount ফিল্ডের মোট যোগফল

> db.demo337.aggregate([
  { $group: {
      _id: null,
      totalAmount: { $sum: "$Amount" }
  }}
]);

ব্যাখ্যা:

  • _id: null - সব ডকুমেন্টকে একসাথে গ্রুপ করতে (সিঙ্গল গ্রুপ)।
  • $sum: "$Amount" - Amount ফিল্ডের সব মান যোগ করে।
  • যদি গ্রুপিং করতে চান (যেমন ক্যাটাগরি অনুযায়ী), তবে _id: "$Category" ব্যবহার করুন।

৪. ফলাফল

{ "_id" : null, "totalAmount" : 1000 }

১০০ + ৫০০ + ৪০০ = ১০০০। এটি বড় ডেটাসেটে খুব দ্রুত কাজ করে।


  1. MongoDB-এ অ্যারে আইটেম গণনা করার পদ্ধতি

  2. MongoDB-তে একাধিক কলাম অনুযায়ী গ্রুপ করে ডুপ্লিকেট আইডি সহ টোটাল মার্কস ক্যালকুলেট

  3. MongoDB $match ব্যবহার করে ডেট ম্যাচ করা

  4. MongoDB-এ স্টোরড জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করা