如何在Mongoid中查询多个ID?

时间:2015-02-10 23:46:59

标签: ruby-on-rails mongodb mongoid mongoid4

如果我有几个ID,请说[1,2,3]

是否可以在Mongoid中一次查询所有内容?如:

User.where({ id: [1,2,3]})或类似的东西?

2 个答案:

答案 0 :(得分:6)

您正在寻找的基础MongoDB查询将使用$in operator

  

$ in 运算符选择字段值等于指定数组中任何值的文档。

在MongoDB中,你会说:

db.users.find({ id: { $in: [1,2,3] } })

直接转换为Mongoid:

User.where(id: { :$in => [1,2,3] })

Mongoid将大多数(全部?)查询运算符修补到Symbol,所以你通常会说:

User.where(:id.in => [1,2,3])

答案 1 :(得分:4)

派对迟到了,但你可以将一系列ID传递给find()方法。

User.find(ids)