Ruby on rails 在RubyonRails中搜索mongodb中的双大小写

Ruby on rails 在RubyonRails中搜索mongodb中的双大小写,ruby-on-rails,ruby,ruby-on-rails-3,mongodb,mongoid,Ruby On Rails,Ruby,Ruby On Rails 3,Mongodb,Mongoid,下面是我在模型中的代码 def self.search(search) if search where(name: /#{Regexp.escape(search)}/i) else scoped end end 现在我想添加另一个字段来搜索 像 所以我的查询应该搜索两个字段 像 如何在mongodb like或中添加这两个字段。工作示例被接受。 因为我对mongodb的了解较少。试试这个where('$or'=>[{“name”=>“/{Re

下面是我在模型中的代码

def self.search(search)
    if search
     where(name: /#{Regexp.escape(search)}/i)
    else
      scoped
    end
  end
现在我想添加另一个字段来搜索 像

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

如何在mongodb like或中添加这两个字段。工作示例被接受。
因为我对mongodb的了解较少。

试试这个
where('$or'=>[{“name”=>“/{Regexp.escape(search)}/i},{“price”=>“/{Regexp.escape(search)}/i}])
如果您使用的是Mongoid 3,您可以这样编写查询:

self.or({name: /#{Regexp.escape(search)}/i}, {price: /#{Regexp.escape(search)}/i})
如果您使用的不是Mongoid 3(如MongoMapper或Mongoid 2),请提供名称和版本号


来源:Mongoid 3的选择语法文档是。

这篇文章因为太短而被自动标记为低质量。您是否介意通过添加一些文本来扩展它,以解释它是如何解决问题的?
 where(name: /#{Regexp.escape(search)}/i) (or)  where(price: /#{Regexp.escape(search)}/i)
self.or({name: /#{Regexp.escape(search)}/i}, {price: /#{Regexp.escape(search)}/i})