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 に答える