MongoDB-তে মার্কস অনুযায়ী সর্ট করে সবচেয়ে কম নম্বর পাওয়া শিক্ষার্থীদের বের করতে $sort এবং $limit স্টেজগুলো একসাথে ব্যবহার করা হয়। $limit: 2 দিয়ে শুধু দুটি ফলাফল দেখা যায়।
উদাহরণ: কালেকশন তৈরি এবং ডেটা ইনসার্ট
> db.demo709.insertOne({Name: "John", "Marks": 75});
> db.demo709.insertOne({Name: "Chris", "Marks": 45});
> db.demo709.insertOne({Name: "David", "Marks": 54});
> db.demo709.insertOne({Name: "Bob", "Marks": 69});
সব ডকুমেন্ট দেখা
> db.demo709.find();
আউটপুট:
{ "_id" : ..., "Name" : "John", "Marks" : 75 }
{ "_id" : ..., "Name" : "Chris", "Marks" : 45 }
{ "_id" : ..., "Name" : "David", "Marks" : 54 }
{ "_id" : ..., "Name" : "Bob", "Marks" : 69 }
অ্যাগ্রিগেশন পাইপলাইন দিয়ে কম মার্কসuage वाले দুটি বের করা
নিচের পাইপলাইন মার্কস অনুযায়ী অ্যাসেন্ডিং সর্ট করে এবং শুধু প্রথম দুটি ডকুমেন্ট রিটার্ন করে:
> db.demo709.aggregate([
{ $group: { _id: "$Marks", ListOfName: { $push: "$Name" } } },
{ $sort: { "_id": 1 } },
{ $limit: 2 }
]);
আউটপুট:
{ "_id" : 45, "ListOfName" : [ "Chris" ] }
{ "_id" : 54, "ListOfName" : [ "David" ] }
ব্যাখ্যা: এখানে $group দিয়ে মার্কস অনুযায়ী গ্রুপ করা হয়েছে, $sort: { "_id": 1 } দিয়ে ছোট থেকে বড় সর্ট করা হয়েছে, এবং $limit: 2 দিয়ে শুধু প্রথম দুটি ফলাফল নেওয়া হয়েছে।