【发布时间】:2017-09-14 07:34:29
【问题描述】:
有没有办法对从限制返回的文档进行排序? 示例:
//returns 10 documents:
db.users.find()
.sort({last_online_timestamp:-1})
.limit(10)
//returns 10 another documents
db.users.find()
.sort({last_online_timestamp:-1})
.limit(10)
.sort({messages_count:1});
我想要的是获得 10 个最后登录的用户,然后按消息数对其进行排序。
【问题讨论】:
-
db.user.find().sort({last_online_timestamp:-1}).limit(10).pretty();
-
db.user.find().sort({last_online_timestamp: -1}).limit(10, callback);
-
试试这个……..
-
@RïshïKêshKümar 如果您建议解决方案,您应该将其作为完整答案发布,而不是作为评论。
-
@Alexander Tyuryaev :在 find() 查询中不能使用 sort() 两次;之前已解决此问题,例如 stackoverflow.com/a/43250870/174843 或 stackoverflow.com/a/14425636/174843 或 stackoverflow.com/q/8474353/174843。相反,您需要使用 Jeff J 建议的聚合。