[
{
"t": "Sample Question",
"d": "2018-12-23T21:21:03.430Z",
"aa": [
{
"q": 1,
"n": "5bee73accda38",
"iU": "5bee73accda38/5c1f3d7341977/1.mp4"
},
{
"q": 4,
"n": "5bee73accda38",
"iU": "5bee73accda38/5c1f3d7341977/1.mp4"
}
]
}]
我是Mongo的新手,试图在MongoDB中对SubArray(降序)进行排序,但仍然无法基于子数组中的“ q”(降序)索引进行排序。
这是我尝试过的但没有成功
Question.find({}, function(err, question) {
if (err)
res.send(err);
}).sort({'d':-1,'aa.q':-1 }).skip(page).limit(10);
答案 0 :(得分:1)
您始终可以使用$aggregate
并在$unwind
内依次使用$sort
和$group
:
db.collection.aggregate([
{ $unwind: "$aa" },
{ $sort: { "aa.q": -1 }},
{ $group: {
_id: "$_id",
"t": { $first: "$t" },
"d": { $first: "$d" },
"aa": { $push: "$aa" }
}
}
])