kid*_*tal 1 ruby-on-rails mongodb mongoid mongoid4
如果我有几个ID,请说 [1,2,3]
是否可以在Mongoid中一次查询所有内容?如:
User.where({ id: [1,2,3]}) 或类似的东西?
您正在寻找的基础MongoDB查询将使用$in运算符:
的在$操作者选择其中一个场的值等于指定数组中的任何值的文件.
在MongoDB中,你会说:
db.users.find({ id: { $in: [1,2,3] } })
Run Code Online (Sandbox Code Playgroud)
这直接转换为Mongoid:
User.where(id: { :$in => [1,2,3] })
Run Code Online (Sandbox Code Playgroud)
Mongoid修补了大多数(全部?)查询运算符,Symbol所以你通常会说:
User.where(:id.in => [1,2,3])
Run Code Online (Sandbox Code Playgroud)
小智 5
聚会有点晚,但您可以将一组 ID 传递给 find() 方法。
User.find(ids)
Run Code Online (Sandbox Code Playgroud)