我在Rails 3的MongoDB数据库中有一个名为“Stat”的表。
在该表中,有一个名为“services”的数组字段。
我想找到所有包含值“lights”的服务数组的Stat。
我想做这样的事情:
@stats = Stat.all
@stats1 = @stats.where("services contains lights")
Rails.logger.info "result: #{@stats1.count} "
我尝试过各种各样的东西并广泛搜索它,发现了一些线索,但似乎没有任何效果。我有四条记录应该匹配此查询,但上面返回一个零集。
我想在rails 3 / mongo中做什么?
答案 0 :(得分:2)
试试这个,
@stats = Stat.all
@stats1 = @stats.where("'lights' = ANY (services)")
答案 1 :(得分:1)
好的,我找到了这个问题的答案:
@stats = @ stats.where(:services.in => ['lights'])
我也发现,反过来是:
@stats = @ stats.where(:services.nin => ['lights'])
“nin”而不是“in”