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

MongoDB-এ ইনার অ্যারেতে নির্দিষ্ট ভ্যালুর যোগফল অনুযায়ী সর্ট করা

অ্যাগ্রিগেশন পাইপলাইনে $unwind, $group, $cond, $sort ব্যবহার করে ইনার অ্যারেতে নির্দিষ্ট ভ্যালুর কাউন্ট অনুযায়ী সর্ট করুন।

নমুনা ডেটা

> db.demo189.insertOne({"_id": 100, "List": [{"Value": 10}, {"Value": 20}, {"Value": 10}]});
> db.demo189.insertOne({"_id": 101, "List": [{"Value": 10}, {"Value": 10}, {"Value": 10}]});

পাইপলাইন (Value 10-এর কাউন্ট অনুযায়ী ডেসেন্ডিং সর্ট)

> db.demo189.aggregate([
    {$unwind: "$List"},
    {$group: {
        _id: "$_id",
        total: {$sum: {$cond: {if: {$eq: ["$List.Value", 10]}, then: 1, else: 0}}},
        List: {$push: {Value: "$List.Value"}}
    }},
    {$sort: {total: -1}},
    {$project: {List: 1}}
])

ফলাফল

{ "_id": 101, "List": [{"Value": 10}, {"Value": 10}, {"Value": 10}] }
{ "_id": 100, "List": [{"Value": 10}, {"Value": 20}, {"Value": 10}] }

_id: 101-এ ১০ এর কাউন্ট ৩, _id: 100-এ ২। তাই ১০১ আগে এল।

  1. MongoDB-এ অ্যারে অবজেক্টের নির্দিষ্ট ইনডেক্স আপডেট করা

  2. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  3. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  4. MongoDB-এ অ্যারে অবজেক্টের মধ্যে একাধিক শর্ত ম্যাচ করা