Mongoose:以不同的顺序对数组进行排序

时间:2018-02-23 18:00:36

标签: mongodb mongoose

我不知道它是否可能,但我想获得查询的N个最后一个元素并将其放入响应数组中,如[n,n-1,n-2, ......,0]

关于我的查询当然我得到了[0,1,2,...,n]

我的查询是Model.find({})。sort({date:-1})。limit(n).exec()

我知道我可以编写一个js函数来反转数组,但是如果已经存在mongoose的东西那么就没有意义了。

1 个答案:

答案 0 :(得分:1)

简单地说,$sort$limit

之后的顺序相反
Model.find({}).sort({date:-1}).limit(n).sort({date:1}).exec()
                                                   ^

或使用汇总,$sort$limit结果,以及$sort再次按相反顺序

db.col.aggregate([
    {$sort : {date : -1}},
    {$limit : n},
    {$sort : {date : 1}}
])