MongoDB更新方法 のドキュメント 次のように述べています:
つまり、基本的にmulti
パラメータは、update_all
を有効にするものです リンクした質問の行動。
2番目の質問への回答:はい-Mongoidにはこの機能が組み込まれています。ドキュメントリファレンスは、こちら です。 。ただし、次のように使用できます:
User.where(:gender => "Male").update_all(:title => "Mr")
更新
値を配列フィールドにプッシュする場合でも、Mongoid update_all
であるため、MongoDBライブラリを直接使用する必要があります。 メソッドは$set
のみをサポートします データベース更新メソッド(配列全体を更新するために使用できますが、値を配列にプッシュすることはできません)。
あなたがリンクした質問への回答の例はうまくいくでしょう、私はこの質問に出くわした人々の下にそれをコピーしました(ありがとうシンガラ !):
User.collection.update(
{'$in' => {:gender => 'Male'}},
{'$push' => {:titles => 'Mr'}},
{:multi => true}
)