如果该字段是整数,则以下方法有效:
User.where(id: [1,3,5])
但是如果该字段是一个数组怎么办?例如,用户的字段是favorite_numbers
:
如何查找favorite_number为1,3或5的用户?
Rails 4.1.7
Mongoid 5.0.0
编辑:添加了Mongoid。
答案 0 :(得分:3)
我不确定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
数组。