নির্দিষ্ট ছাত্রের মোট স্কোর গণনা
MongoDB-এ নির্দিষ্ট ছাত্রের সব স্কোর যোগ করতে aggregate() এর সাথে $match এবং $sum ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.demo434.insertOne({ "Name": "Chris", "Score": 45 })
> db.demo434.insertOne({ "Name": "David", "Score": 55 })
> db.demo434.insertOne({ "Name": "Chris", "Score": 55 })
সমস্ত ডকুমেন্ট দেখানো
> db.demo434.find()
আউটপুট:
{ "_id": ObjectId("..."), "Name": "Chris", "Score": 45 }
{ "_id": ObjectId("..."), "Name": "David", "Score": 55 }
{ "_id": ObjectId("..."), "Name": "Chris", "Score": 55 }
নির্দিষ্ট ছাত্রের স্কোর যোগ করার কোয়েরি
> db.demo434.aggregate([
{ "$match": { "Name": "Chris" } },
{ "$group": { "_id": null, "TotalScore": { "$sum": "$Score" } } }
])
ফলাফল:
{ "_id": null, "TotalScore": 100 }
ব্যাখ্যা
$match: শুধু "Chris" নামের ডকুমেন্টগুলো ফিল্টার করে$group:_id: nullদিয়ে সব মিলে যাওয়া ডকুমেন্ট একসাথে গ্রুপ করে$sum:Scoreফিল্ডের মানগুলো যোগ করেTotalScoreতৈরি করে
এই প্যাটার্নটি যেকোনো чисলাত্মক ফিল্ডের যোগফল বের করতে ব্যবহার করা যায়।