热门获取mongodb的最后30条收集记录,但不是零?

时间:2016-06-16 15:46:49

标签: node.js mongodb

我尝试使用.sort({_id:1}).limit(30)进行此操作,但结果它们显示的是0到30,但不是40到70(例如),这意味着我看到所有消息都是30,并且比30更新 - 没有显示。我怎样才能从db.collection中找到30条消息(' messages')?

1 个答案:

答案 0 :(得分:2)

您可以通过调用光标上的skip()来设置要包含在结果中的第一个文档:

.sort({_id: 1}).skip(40).limit(30)

_id排序后会提供41到70个文档。

如果您希望最后 30保持升序,请改变排序,然后使用Array#reverse反转结果:

coll.find().sort({_id: -1}).limit(30).toArray((err, docs) => {
    docs.reverse();    
});