猫鼬限制TOP 10没有排序

时间:2016-05-16 07:18:25

标签: mongodb mongoose

我需要前十名的记录,但不是很挑剔。 我可以使用.sort('-timestamp').limit(10),但我不想对它进行排序,我只是需要它。

每次请求到来时,还有其他方法可以反转数组吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询查找显示的最近10条记录(自然顺序)。

db.collection.find().skip(db.collection.count() - 10)

只需确保以下2个条件(' N '是您要获取的记录数量):

  1. if(collection.count()< N):那么您将面临以下错误

     error: {
         "$err" : "Can't canonicalize query: BadValue bad skip value in query",
         "code" : 17287
     }
    
  2. if((collection.count()== N):查询与 collection.find()一样好,因为它会跳过0个元素,显示所有文件。