在Ruby on rails中搜索mongodb中的双case



这里我的代码模型是

def self.search(search)
    if search
     where(name: /#{Regexp.escape(search)}/i)
    else
      scoped
    end
  end

现在我想添加另一个字段也搜索像

where(price: /#{Regexp.escape(search)}/i)

所以我的查询应该搜索两个字段像

 where(name: /#{Regexp.escape(search)}/i) (or)  where(price: /#{Regexp.escape(search)}/i)

如何在mongodb中添加这两个字段,如或。给出了工作实例。

如果您使用的是Mongoid 3,您可以这样编写查询:

self.or({name: /#{Regexp.escape(search)}/i}, {price: /#{Regexp.escape(search)}/i})

如果您使用的不是Mongoid 3(如MongoMapper或Mongoid 2),请给出名称和版本号。

来源:蒙古3的选择语法文档在这里。

试试这个
where('$or' => [{"name" => "/#{Regexp.escape(search)}/i"}, {"price" => "/#{Regexp.escape(search)}/i"}])

相关内容

  • 没有找到相关文章

最新更新