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

MongoDB অগরিগেশনে ডকুমেন্ট অ্যাসেন্ডিং অর্ডারে সর্ট করা

MongoDB অগরিগেশনে ডকুমেন্ট সর্ট করতে $sort স্টেজ ব্যবহার করুন। একটি কালেকশন তৈরি করুন নেস্টেড ডিটেইলস সহ:

> db.demo652.insertOne({
    value:10,
    "details" : [
        { "ProductName" : "Product-1", "ProductQuantity" : 8, "ProductPrice" : 500 },
        { "ProductName" : "Product-2", "ProductQuantity" : 7, "ProductPrice" : 500 }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e9f0730e3c3cd0dcff36a62") }
> db.demo652.insertOne({
    value:5,
    "details" : [
        { "ProductName" : "Product-1", "ProductQuantity" : 8, "ProductPrice" : 500 },
        { "ProductName" : "Product-2", "ProductQuantity" : 7, "ProductPrice" : 500 }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e9f0740e3c3cd0dcff36a63") }

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

> db.demo652.find();

আউটপুট:

অগরিগেশন পাইপলাইনে value ফিল্ড অনুযায়ী অ্যাসেন্ডিং সর্ট করার কোয়ারি:

> db.demo652.aggregate([
    { "$unwind": "$details" },
    { "$match": {} },
    { "$group": {
        "ProductPrice": { "$first": "$value" },
        "details": { "$push": { "ProductName": "$details.ProductName" } },
        "_id": "$_id"
    }},
    { "$sort": { "ProductPrice": 1 } },
    { "$project": { "_id": 0, "ProductPrice": 1, "details": 1 } }
]).pretty()

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

ব্যাখ্যা: এখানে $unwind দিয়ে details অ্যারে ফ্ল্যাট করা হয়েছে, $group দিয়ে আবার গ্রুপ করা হয়েছে value ফিল্ডকে ProductPrice নামে রিনেম করে, এবং $sort: { ProductPrice: 1 } দিয়ে অ্যাসেন্ডিং সর্ট করা হয়েছে। ডেসেন্ডিং জন্য -1 ব্যবহার করুন।

  1. MongoDB অ্যাগ্রিগেশন দিয়ে সবচেয়ে কম মার্কসuage वाले দুটি ডকুমেন্ট বের করা

  2. MongoDB অ্যাগ্রিগেশন: $match এবং $and দিয়ে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

  3. MongoDB এгреগেশন: অন্য ডকুমেন্টের সমান ID গুলো গ্রুপ করা

  4. MongoDB এগ্রিগেশন: একাধিক ফিল্ড দিয়ে কাউন্ট করা