可以使用MongoDB的find()
方法和sort()
方法来获取最后N条记录。
例如,如果要获取最后10条记录,可以使用以下代码:
db.collection.find().sort({_id:-1}).limit(10)
这里的sort({_id:-1})
表示按照_id降序排序,即最后插入的记录在前面。limit(10)
表示获取10条记录。
如果想要获取除最后10条记录之外的所有记录,可以使用以下代码:
db.collection.find().sort({_id:-1}).skip(10)
这里的skip(10)
表示跳过前10条记录,即获取除最后10条记录之外的所有记录。
你也可以使用自然排序($natural
)也可以获取最后N条记录。
如果要获取最后10条记录,可以使用以下代码:
db.collection.find().sort({$natural:-1}).limit(10)
这里的sort({$natural:-1})
表示按照自然排序降序排序,即最后插入的记录在前面,limit(10)
表示获取10条记录。
需要注意的是,使用自然排序可能会有一些限制和不可预测的行为,因此在使用时需要仔细考虑。
如果你在你的集合中使用了自定义的_id值,那么自然排序可能会失效,因为它是基于_id值进行排序的。
参考
如何获取mongoDB中的最后N条记录?
https://qa.1r1g.com/sf/ask/309484521
mongoDB如何查找最后几项?
http://blog.itpub.net/1978/viewspace-2833523
网友评论