B S*_*ven 3 arrays ruby-on-rails mongodb mongoid ruby-on-rails-4
如果该字段是整数,则执行以下操作:
User.where(id: [1,3,5])
Run Code Online (Sandbox Code Playgroud)
但是如果该字段是一个数组怎么办?例如,用户有一个字段,该字段是以下数组favorite_numbers:
如何查找 favorite_number 为 1、3 或 5 的用户?
Rails 4.1.7
Mongoid 5.0.0
编辑:添加了 Mongoid。
我不确定 Mongoid 5 但$in操作员应该注意展开右侧:
User.where(:favorite_numbers.in => [1,3,5])
# or
User.where(favorite_numbers: { :$in => [1,3,5] })
User.where(favorite_numbers: { '$in' => [1,3,5] })
User.where(favorite_numbers: { '$in': [1,3,5] }) # depending on Ruby version
Run Code Online (Sandbox Code Playgroud)
MongoDB 本身将负责展开favorite_numbers数组。