我在任何地方都找不到它的记录。默认情况下,find() 操作将从头开始获取记录。如何获取 mongodb 中的最后 N 条记录?
编辑:我也希望返回的结果从最近到最近,而不是相反。
如果我理解你的问题,你需要按升序排序。
假设您有一些名为“x”的 id 或日期字段,您会这样做......
db.foo.find().sort({x:1});
1 将按升序排序(从最旧到最新),- 1 将按 降序排序(从最新到最旧)。
如果您使用自动创建的 _id 字段,它会嵌入一个日期…所以您可以使用它来订购…
db.foo.find().sort({_id:1});
这将返回从最旧到最新排序的所有文档。
你也可以使用上面提到的自然秩序......
db.foo.find().sort({$natural:1});
同样,根据您想要的顺序使用 1 或 -1 。
最后,在进行这种广泛开放的查询时添加一个限制是一种很好的做法,这样您就可以这样做......
db.foo.find().sort({_id:1}).limit(50);
要么
db.foo.find().sort({$natural:1}).limit(50);