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

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

MongoDB-তে নেস্টেড অ্যারে সর্ট করতে অগরিগেশনে $unwind, $sort এবং $group ব্যবহার করুন। একটি কালেকশন তৈরি করুন:

> db.demo505.insertOne({
    "details": [
        { Name:"Chris", "Score":58 },
        { Name:"Bob", "Score":45 },
        { Name:"John", "Score":68 },
        { Name:"David", "Score":46 }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e882a6b987b6e0e9d18f574") }

find() দিয়ে ডকুমেন্ট দেখান:

> db.demo505.find();

আউটপুট (অসর্টেড):

{ "_id" : ObjectId("5e882a6b987b6e0e9d18f574"), "details" : [ { "Name" : "Chris", "Score" : 58 }, { "Name" : "Bob", "Score" : 45 }, { "Name" : "John", "Score" : 68 }, { "Name" : "David", "Score" : 46 } ] }

নেস্টেড অ্যারে এসেন্ডিং অর্ডারে সর্ট করার অগরিগেশন কোয়েরি:

> db.demo505.aggregate([
    { $unwind: "$details" },
    { $sort: { "details.Score": 1 } },
    { $group: { _id: "$_id", details: { $push: "$details" } } }
]);

সর্টেড আউটপুট:

{ "_id" : ObjectId("5e882a6b987b6e0e9d18f574"), "details" : [ { "Name" : "Bob", "Score" : 45 }, { "Name" : "David", "Score" : 46 }, { "Name" : "Chris", "Score" : 58 }, { "Name" : "John", "Score" : 68 } ] }

ব্যাখ্যা: $unwind অ্যারেটি ফ্ল্যাট করে, $sort স্কোর অনুযায়ী সর্ট করে, এবং $group সাথে $push আবার অ্যারে রিকনস্ট্রাক্ট করে। ডেসেন্ডিং সর্টের জন্য 1-র পরিবর্তে -1 ব্যবহার করুন।

  1. MongoDB-তে শব্দ অনুযায়ী সর্ট করার পদ্ধতি

  2. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

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

  4. MongoDB-তে অ্যারের ভ্যালু অনুযায়ী কালেকশন সর্ট করা (aggregate + $unwind + $sort)