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