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})