【问题标题】:How to get last N documents with mongoid?如何使用 mongoid 获取最后 N 个文档?
【发布时间】:2013-05-23 17:09:51
【问题描述】:

我在 mongoDB 中找到了一些信息来完成此操作,但我需要使用 mongoid。所以我可以这样做:

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

我正在使用:

  • MongoDB shell 版本:2.4.3

  • Mongoid 2.6.0

谢谢!

【问题讨论】:

  • 尝试将 JS 解决方案翻译成 Mongoid。我敢打赌它会起作用的。

标签: ruby mongodb mongoid


【解决方案1】:

现在我从 mongoid origin 找到了解决方案:

User.all.desc('_id').limit(7000)

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

【讨论】:

  • 重要!假设你有 9000 条记录,如果你这样做 u = User.all.desc('_id').limit(7000) 然后 u.delete 它将删除 9000 条记录!刚刚在生产应用程序上发生在我身上。幸运的是,在做这些事情之前我总是做一个新的备份。
  • @Pod 你应该在limit() 之后转换为数组to_a(在销毁之前),阅读这个stackoverflow.com/a/20368143/1297435
  • ...并从最后一个User.all.desc('_id').offset(n).first获取第n条记录
  • 注意:此答案中引用的“来源”链接现在是“未找到”。
猜你喜欢
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 2021-10-07
  • 2018-07-22
  • 1970-01-01
  • 2017-08-03
相关资源
最近更新 更多