获得N个最新记录

tob*_*bbe 8 meteor

如何获得流星mongodb的N最新记录?

我知道我可以用普通的mongodb这样做:db.foo.find().sort({_id:1});所以我认为这适用于流星:collection.find({chatroom: Session.get("room")}, {sort: {_id:1}, limit: N }).

但这只会返回一些"随机"文档.我猜他们是具有最低_id值的10条记录,如_id = aaaaa和_id = aaaab.

我在这里错过了什么?在正常的mongodb它的超级?!

soh*_*ifa 9

尝试使用$naturalmongoDB的排序说明符.

collection.find({chatroom: Session.get("room")}, {sort: {$natural : 1}, limit: N });
Run Code Online (Sandbox Code Playgroud)

自然顺序是数据库将文档存储在磁盘上的顺序.通常是一个插入订单.

date_created正常使用值进行排序.因为当您update对现有文档执行操作时,自然顺序有时会发生变化.