MongoDB-এ ডকুমেন্ট সর্ট করতে $match এবং aggregate পাইপলাইন একসাথে ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো:
কলেকশন এবং ডকুমেন্ট তৈরি
> db.demo67.insertOne({"StudentAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e289edf602d9a2ff1828ed8") }
> db.demo67.insertOne({"StudentAge":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e289ee1602d9a2ff1828ed9") }
> db.demo67.insertOne({"StudentAge":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5e289ee3602d9a2ff1828eda") }
সব ডকুমেন্ট দেখানো
> db.demo67.find();
আউটপুট:
{ "_id" : ObjectId("5e289edf602d9a2ff1828ed8"), "StudentAge" : 23 }
{ "_id" : ObjectId("5e289ee1602d9a2ff1828ed9"), "StudentAge" : 21 }
{ "_id" : ObjectId("5e289ee3602d9a2ff1828eda"), "StudentAge" : 24 }
Aggregate দিয়ে সর্ট করার কোয়ারী
নিচের কোয়ারীতে $match দিয়ে ২০-এর বেশি বয়স ফিল্টার করা হয়েছে, তারপর $sort দিয়ে নিম্নক্রমে (descending) সর্ট করা হয়েছে:
> db.demo67.aggregate([
... {$match: {"StudentAge": {$gt: 20} }},
... {$sort: {"StudentAge": -1} }
... ]);
ফলাফল
{ "_id" : ObjectId("5e289ee3602d9a2ff1828eda"), "StudentAge" : 24 }
{ "_id" : ObjectId("5e289edf602d9a2ff1828ed8"), "StudentAge" : 23 }
{ "_id" : ObjectId("5e289ee1602d9a2ff1828ed9"), "StudentAge" : 21 }
নোট: $sort স্টেজে 1 মান দিলে আরোহী ক্রম (ascending) এবং -1 দিলে নিম্নক্রম (descending) এ সর্ট হয়।