Mongoid:搜索数组

ran*_*its 1 ruby ruby-on-rails mongodb mongoid

目前是否可以使用基于Mongoid的对象搜索BSON :: OrderedHashes数组?我的一个属性,让我们foobar课堂上调用它,看起来如下所示:

[#<BSON::OrderedHash:0x7f0 {"id"=>"4bf58dd8d48988d118951735", "name"=>"Grocery or Supermarket", "pluralName"=>"Grocery or Supermarkets", "shortName"=>"Grocery Store", "icon"=>#<BSON::OrderedHash:0x7f2 {"prefix"=>"https://foursquare.com/img/categories/shops/food_grocery_", "sizes"=>[32, 44, 64, 88, 256], "name"=>".png"}>, "primary"=>true}>] 
Run Code Online (Sandbox Code Playgroud)

我想查看我的所有对象,并在"name"属性的此顺序哈希中找到包含Grocery的每个对象.

mu *_*ort 6

我想你应该可以这样做:

Bar.where('foo.name' => /Grocery/)
Run Code Online (Sandbox Code Playgroud)

MongoDB的多键支持将负责搜索数组的元素并'foo.name'寻找name内部元素foo.