Mongoose:获取最新记录,然后按另一个字段对它们进行排序
我正在为游戏创建快速排行榜。排行榜显示最近的10名球员按其得分排序。我的查询似乎不起作用:
recordModel.find({ game: gameId }).sort({updatedAt: -1}).limit(10).sort({ score: -1 }).exec( /*... */ );
它只返回最近的10条记录而没有秒排序。
我怎样才能得到理想的结果? (是的,我知道我可以自己对结果数组进行排序,但对我来说感觉不对“)
编辑:问题解决了,但我不能在2天内接受我自己的答案。我会在时机成熟时,非常感谢您的时间!
回答如下:你能尝试只有一个“排序”,像这样吗?
recordModel.find({ game: gameId })
.sort({updatedAt: -1, score: -1})
.limit(10)
.exec( /*... */ );
更多信息:sorting-priority
希望能帮助到你。