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

MongoDB-এ সাব-ডকুমেন্টের সকল ফিল্ডের যোগফল (Sum) বের করা


ভূমিকা

MongoDB-এ কোনো ডকুমেন্টের ভেতরে নেস্ট করা অ্যারে অবজেক্টের নির্দিষ্ট নümerিক ফিল্ডের যোগফল বের করতে এগ্রিগেশন ফ্রেমওয়ার্কের $unwind এবং $group স্টেজ ব্যবহার করা হয়।

নমুনা ডেটা তৈরি

sumEveryFieldDemo কালেকশনে একটি ডকুমেন্ট ইনসার্ট করা হয়েছে, যেখানে PlayerDetails নামে অবজেক্টের অ্যারে রয়েছে। প্রতিটি অবজেক্টে PlayerScore ফিল্ড রয়েছে।


ডকুমেন্ট প্রদর্শন

{ "_id" : 101, "PlayerDetails" : [ { "PlayerName" : "John", "PlayerScore" : 1000 }, { "PlayerName" : "Carol", "PlayerScore" : 2000 }, { "PlayerName" : "Sam", "PlayerScore" : 3000 } ] }

এগ্রিগেশন কোয়েরি

1. $unwind: "$PlayerDetails" - অ্যারে প্রতিটি এলিমেন্টকে আলাদা ডকুমেন্টে রূপান্তর।
2. $group - _id দিয়ে গ্রুপ করে $sum অ্যাকিউমুলেটর দিয়ে PlayerScore যোগফল করা।


ফলাফল


টিপস: যদি একাধিক ডকুমেন্ট থাকে, তবে _id: "$_id" গ্রুপিং নিশ্চিত করবে প্রতিটি পেরেন্ট ডকুমেন্টের জন্য আলাদা যোগফল বের হয়।

  1. MongoDB-এ বুলিয়ান (Boolean) ফিল্ড ইনসার্ট করার পদ্ধতি

  2. MongoDB-তে সাব-ডকুমেন্ট দিয়ে সাব-ডকুমেন্ট ফিল্টার করা (aggregate + $unwind)

  3. MongoDB-তে অ্যাগ্রিগেশন দিয়ে ডকুমেন্ট ফিল্ড থেকে বিয়োগ করা ($subtract)

  4. MongoDB-এ নির্দিষ্ট ফিল্ড না থাকা ডকুমেন্ট খুঁজে বের করা