Mongoid Criteria:如何计算具有特定值字段的文档数

时间:2014-05-07 21:40:17

标签: ruby-on-rails mongoid

标准如下:

#<Mongoid::Criteria
  selector: {"_id"=>{"$in"=>["535988c59bb8f9128c000001", 
                             "53598a439bb8f9f211000001",    
                             "536a9300ae4da1b0a9000002"]}}
  options:  {:limit=>5}
  class:    User
  embedded: false>

我想遍历这些用户并计算有多少属性is_active: true。 我认为必须有另一种方式,而不是做users.each do |user|,并保持用户是否符合该标准的运行计数。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果您在变量中有该标准:

query = User.where(:id.in => ids).limit(5)

然后您可以通过调用where添加其他条件:

query = query.where(:is_active => true)

然后计算它们:

n = query.count