ruby-on-rails - Mongoid 随机文档

标签 ruby-on-rails ruby mongodb mongoid

假设我有一个用户集合。有没有一种方法可以使用 mongoid 在集合中查找 n 个随机用户,而不会两次返回同一用户?现在假设用户集合如下所示:

class User
  include Mongoid::Document
  field :name
end

很简单吧?

谢谢

最佳答案

如果你只想要一个文档,不想定义一个新的标准方法,你可以这样做:

random_model = Model.skip(rand(Model.count)).first

如果您想根据某些标准找到一个随机模型:

criteria = Model.scoped_whatever.where(conditions) # query example
random_model = criteria.skip(rand(criteria.count)).first

关于ruby-on-rails - Mongoid 随机文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759250/

相关文章:

ruby-on-rails - 将内联模板更新到 Ember 1.0 pre 2

ruby-on-rails - Ubuntu "gem install rails"失败

ruby-on-rails - 无法在 ruby​​ 中通过 SSL 读取服务器响应

ruby - 那里有任何非 Rails ruby​​ 论坛应用程序吗?

ruby - 我如何混入 Singleton 来创建一个接受初始化参数的类?

python - 在Python中使用正则表达式删除名称末尾带有 "expn"的MongoDB数据库

Java Mongo 聚合还是函数?

ruby-on-rails - ruby on rails 递减循环增量

ruby-on-rails - RSpec中mock和mock_model有什么区别

MongoDB:为什么按多个键排序不使用索引?