如何使用mongoid获取最后N个文档?

cor*_*tex 14 ruby mongodb mongoid

我在mongoDB中找到了一些完成此功能的信息,但我需要mongoid.所以我可以这样做:

User.last(7000).each do ....

我正在使用:

  • MongoDB shell版本:2.4.3

  • Mongoid 2.6.0

谢谢!

cor*_*tex 27

现在,我发现从mongoid解决方案产地:

User.all.desc('_id').limit(7000)
Run Code Online (Sandbox Code Playgroud)

它根据id按降序对用户进行排序.

  • 重要!假设您有9000条记录,如果你执行u = User.all.desc('_ id').limit(7000)然后u.delete它会删除9000条记录!刚刚在生产应用程序上发生了我.幸运的是,在做这些事之前我总是做一个新的备份. (4认同)
  • ...并从最后一个 `User.all.desc('_id').offset(n).first` 中获取第 n 条记录 (2认同)