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

MongoDB Aggregation-এ নির্দিষ্ট ডকুমেন্টের যোগফল বের করার পদ্ধতি

$sum এবং $group ব্যবহার করে নির্দিষ্ট ডকুমেন্টের যোগফল গণনা

MongoDB-এ নির্দিষ্ট শর্তের ডকুমেন্টের যোগফল বের করতে $match, $unwind, $group এবং $sum অপারেটর একসাথে ব্যবহার করা হয়।

নমুনা সংগ্রহ তৈরি

>db.calculateSumOfDocument.insertOne({"ListOfUsers":["Carol","Bob"],"UsersDetails":[{"FirstUser":"Carol","TotalLikes":20},{"FirstUser":"Bob","TotalLikes":45}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e084e9125ddae1f53b6220c") }
>db.calculateSumOfDocument.insertOne({"ListOfUsers":["Carol","Bob"],"UsersDetails":[{"FirstUser":"Carol","TotalLikes":60},{"FirstUser":"Bob","TotalLikes":50}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e084f6125ddae1f53b6220d") }

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

> db.calculateSumOfDocument.find().pretty();

আউটপুট:


Carol-এর TotalLikes-এর যোগফল বের করার কোয়েরি

> db.calculateSumOfDocument.aggregate([
    { "$match": { "UsersDetails.FirstUser": "Carol" } },
    { "$unwind" : "$UsersDetails" },
    { "$match": { "UsersDetails.FirstUser": "Carol" } },
    { "$group": {
        "_id": null,
        "total": { "$sum": "$UsersDetails.TotalLikes" }
    }}
]);

ফলাফল:


ব্যাখ্যা: প্রথমে Carol-এর ডকুমেন্ট ফিল্টার করা হয়েছে, তারপর UsersDetails অ্যারে unwind করা হয়েছে, আবার Carol ফিল্টার করে তার TotalLikes (20 + 60 = 80) যোগফল বের করা হয়েছে।

  1. MongoDB-এ একাধিক ডকুমেন্ট মার্জ করার পদ্ধতি

  2. MongoDB-এ নির্দিষ্ট ছাত্রের স্কোর যোগফল বের করা

  3. MongoDB শেল-এ নির্দিষ্ট মান অনুযায়ী ডকুমেন্ট ফিল্টার করে প্রিন্ট করা

  4. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা