3

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

是否可以在 Mongoid 中一次查询它们?如:

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

4

2 回答 2

10

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

$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])
于 2015-02-11T00:41:54.617 回答
5

派对有点晚了,但您可以将一组 ID 传递给 find() 方法。

User.find(ids)
于 2016-09-21T13:36:53.273 回答