IDがいくつかある場合は、[1,2,3]
Mongoid でそれらを一度にクエリすることは可能ですか? そのような:
User.where({ id: [1,2,3]})
または似たようなものですか?
IDがいくつかある場合は、[1,2,3]
Mongoid でそれらを一度にクエリすることは可能ですか? そのような:
User.where({ id: [1,2,3]})
または似たようなものですか?
探している基礎となる 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])
パーティーには少し遅れましたが、ID の配列を find() メソッドに渡すことができます。
User.find(ids)