如何检查 Mongoid 数组字段是否包含另一个数组中的一个或多个项目?
How to check if an Mongoid array field contains one or more items in another array?
如果该字段是一个整数,则以下工作:
User.where(id: [1,3,5])
但是如果字段是一个数组呢?例如,用户有一个字段是 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
MongoDB 本身将负责展开 favorite_numbers
数组。
如果该字段是一个整数,则以下工作:
User.where(id: [1,3,5])
但是如果字段是一个数组呢?例如,用户有一个字段是 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
MongoDB 本身将负责展开 favorite_numbers
数组。