এই কাজের জন্য aggregate() মেথড এবং $sort অপারেটর একসাথে ব্যবহার করতে পারেন। কonception বুঝতে ডকুমেন্টসহ একটি কলেকশন তৈরি করি। ডকুমেন্টসহ কলেকশন তৈরির কোয়েরি নিম্নরূপ:
> db.aggregationSortDemo.insertOne({"StudentId":98,"StudentFirstName":"John","StudentLastName":"Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5c90140c5705caea966c5587") } > db.aggregationSortDemo.insertOne({"StudentId":128,"StudentFirstName":"Carol","StudentLastName":"Taylor"}); { "acknowledged" : true, "insertedId" : ObjectId("5c90141b5705caea966c5588") } > db.aggregationSortDemo.insertOne({"StudentId":110,"StudentFirstName":"David","StudentLastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5c90142f5705caea966c5589") } > db.aggregationSortDemo.insertOne({"StudentId":139,"StudentFirstName":"Chris","StudentLastName":"Brown"}); { "acknowledged" : true, "insertedId" : ObjectId("5c90146a5705caea966c558a") } > db.aggregationSortDemo.insertOne({"StudentId":125,"StudentFirstName":"Sam","StudentLastName":"Williams"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9015695705caea966c558b") } > db.aggregationSortDemo.insertOne({"StudentId":139,"StudentFirstName":"Mike","StudentLastName":"Wilson"}); { "acknowledged" : true, "insertedId" : ObjectId("5c90158e5705caea966c558c") }find() মেথড ব্যবহার করে কলেকশন থেকে সব ডকুমেন্ট প্রদর্শন করি। কোয়েরিটি নিম্নরূপ:
> db.aggregationSortDemo.find().pretty();
আউটপুট নিম্নরূপ:
{ "_id" : ObjectId("5c90140c5705caea966c5587"), "StudentId" : 98, "StudentFirstName" : "John", "StudentLastName" : "Smith" } { "_id" : ObjectId("5c90141b5705caea966c5588"), "StudentId" : 128, "StudentFirstName" : "Carol", "StudentLastName" : "Taylor" } { "_id" : ObjectId("5c90142f5705caea966c5589"), "StudentId" : 110, "StudentFirstName" : "David", "StudentLastName" : "Miller" } { "_id" : ObjectId("5c90146a5705caea966c558a"), "StudentId" : 139, "StudentFirstName" : "Chris", "StudentLastName" : "Brown" } { "_id" : ObjectId("5c9015695705caea966c558b"), "StudentId" : 125, "StudentFirstName" : "Sam", "StudentLastName" : "Williams" } { "_id" : ObjectId("5c90158e5705caea966c558c"), "StudentId" : 139, "StudentFirstName" : "Mike", "StudentLastName" : "Wilson" }MongoDB অ্যাগ্রিগেশন সর্টের কোয়েরি নিম্নরূপ:
কেস ১ - ফলাফল নিম্নক্রমে (descending order) চাইলে। কোয়েরিটি নিম্নরূপ:
> db.aggregationSortDemo.aggregate( {$group: {_id: '$StudentId',"TotalOccurrences": {$sum: 1}}}, {$sort: {_id: -1}} ).pretty();নিচের আউটপুট:
{ "_id" : 139, "TotalOccurrences" : 2 } { "_id" : 128, "TotalOccurrences" : 1 } { "_id" : 125, "TotalOccurrences" : 1 } { "_id" : 110, "TotalOccurrences" : 1 } { "_id" : 98, "TotalOccurrences" : 1 }কেস ২ - ফলাফল आरোহ ক্রমে (ascending order) চাইলে। কোয়েরিটি নিম্নরূপ:
> db.aggregationSortDemo.aggregate( {$group: {_id: '$StudentId', "TotalOccurrences": {$sum: 1}}}, {$sort: {_id: 1}} ).pretty();আউটপুট নিম্নরূপ:
{ "_id" : 98, "TotalOccurrences" : 1 } { "_id" : 110, "TotalOccurrences" : 1 } { "_id" : 125, "TotalOccurrences" : 1 } { "_id" : 128, "TotalOccurrences" : 1 } { "_id" : 139, "TotalOccurrences" : 2 }