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

MongoDB অ্যাগ্রিগেশন: অ্যারে এলিমেন্টের সাবসেট যোগ করা ($first + $sum + $subtract)

MongoDB-তে অ্যারে এলিমেন্টগুলোর টোটাল যোগফল থেকে প্রথম এলিমেন্ট বাদ দিয়ে বাকিগুলোর যোগফল বের করতে $unwind, $group (with $first, $sum), $project (with $subtract) ব্যবহার করা হয়।

উদাহরণ: ভ্যালুস অ্যারে

> db.demo610.insertOne({ Values: [10, 20, 30, 40, 50] });

পাইপলাইন: প্রথম এলিমেন্ট বাদে বাকির যোগফল

> db.demo610.aggregate([
    { $unwind: "$Values" },
    { $group: {
        _id: "$_id",
        "1st": { $first: "$Values" },
        "All": { $sum: "$Values" }
    }},
    { $project: {
        _id: "$_id",
        "SumOfAllMinus1": { $subtract: [ "$All", "$1st" ] }
    }},
    { $group: {
        _id: null,
        "SumOfAllExcept1stValue": { $sum: "$SumOfAllMinus1" }
    }}
]);

আউটপুট:

{ "_id" : null, "SumOfAllExcept1stValue" : 140 }

গণনা: টোটাল = 150, প্রথম = 10, বাকি = 140 (20+30+40+50)।

সরল পদ্ধতি (MongoDB 4.4+):

db.demo610.aggregate([
    { $project: { SumExceptFirst: { $sum: { $slice: ["$Values", 1, { $size: "$Values" }] } } } }
]);

এখানে $slice: [1, size] দিয়ে প্রথম এলিমেন্ট বাদে বাকি স্লাইস করা হয়েছে, তারপর $sum। আরও পঠনীয় এবং দ্রুত।

  1. MongoDB-তে অ্যারে পুশ করার পদ্ধতি

  2. MongoDB-এ অ্যারেতে এলিমেন্ট যুক্ত করার পদ্ধতি

  3. MongoDB অগরিগেশনে ম্যাক্স ভ্যালু সহ অ্যারে এলিমেন্ট ম্যাচ এবং গ্রুপ করা

  4. C#-এ বিদ্যমান জ্যাগড অ্যারেয়ে আইটেম/এলিমেন্ট যোগ করা