MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए, $sort के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं:
> db.demo577.insertOne({
"student": {
"details": [
{ Name:"Chris", Score:45 },
{ Name:"Bob", Score:33 },
{ Name:"David", Score:48 }
]
}
}); { "acknowledged" : true, "insertedId" : ObjectId("5e916ff1581e9acd78b427ff") }
find() मेथड की मदद से कलेक्शन के सभी दस्तावेज प्रदर्शित करें:
> db.demo577.find();
यह निम्न आउटपुट देगा:
{ "_id" : ObjectId("5e916ff1581e9acd78b427ff"), "student" : { "details" : [ { "Name" : "Chris", "Score" : 45 }, { "Name" : "Bob", "Score" : 33 }, { "Name" : "David", "Score" : 48 } ] } }
कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए क्वेरी (Score के अनुसार डिसेंडिंग):
> db.demo577.aggregate([
{$unwind:"$student"},
{$unwind:"$student.details"},
{$sort:{"student.details.Score":-1}}
]);
यह निम्न आउटपुट देगा:
{ "_id" : ObjectId("5e916ff1581e9acd78b427ff"), "student" : { "details" : { "Name" : "David", "Score" : 48 } } }
{ "_id" : ObjectId("5e916ff1581e9acd78b427ff"), "student" : { "details" : { "Name" : "Chris", "Score" : 45 } } }
{ "_id" : ObjectId("5e916ff1581e9acd78b427ff"), "student" : { "details" : { "Name" : "Bob", "Score" : 33 } } }