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