我找不到任何地方有这样的记录。默认情况下,find()操作将从头获取记录。我怎么能得到mongodb的最后N条记录?
编辑:我也想返回的结果从最近到最近的顺序,而不是相反。
我找不到任何地方有这样的记录。默认情况下,find()操作将从头获取记录。我怎么能得到mongodb的最后N条记录?
编辑:我也想返回的结果从最近到最近的顺序,而不是相反。
当前回答
db.collection.find().sort({$natural: -1 }).limit(5)
其他回答
最后一个函数应该是sort,而不是limit。
例子:
db.testcollection.find().limit(3).sort({timestamp:-1});
你可能想要使用find选项: http://docs.meteor.com/api/collections.html#Mongo-Collection-find
db.collection.find({}, {sort: {createdAt: -1}, skip:2, limit: 18}).fetch();
db.collection.find().sort({$natural: -1 }).limit(5)
为了得到最近的N条记录,你可以执行以下查询:
db.yourcollectionname.find({$query: {}, $orderby: {$natural : -1}}).limit(yournumber)
如果你只想要最后一张唱片:
db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})
注意:您可以使用集合中的一列来代替$natural。
如果你使用MongoDB compass,你可以使用sort field来过滤,