最初のドキュメントだけでなく、条件に一致するすべてのドキュメントにmongoのfindAndModifyを適用する方法はありますか?mongodb.orgで見つかりませんでした。
ありがとう。
multiパラメーターをtrueとしてupdate()メソッドを使用できます。
ドキュメントページから:
このコマンドを使用して、ドキュメント(最大で1つ)をアトミックに変更して返すことができます
したがって、ここでは一度に1つしか操作できません。したがって、すべてのドキュメントを反復処理しない限り、この方法でfindAndModifyを使用することはできません。さらに、findAndModifyが機能する方法では、大規模なデータセットでこれを実行するパフォーマンスはひどいものになります。
本当にやりたいことは、代わりにupdateコマンドを使用してこのタイプのことを実現することです。
http://www.mongodb.org/display/DOCS/Updating/#Updating-update%28%29
findAndModify()操作は、一度に1つのドキュメントにのみ適用されます。複数のドキュメントに適用する場合は、find()操作を使用してそれらのドキュメントをクエリし、一度にそれらのドキュメントのそれぞれにfindAndModify()を適用する必要があります。
個々のfindAndModify()コマンドはアトミックですが、上記のループから実行する一連のfindAndModify()コマンドはアトミックではないことに注意してください。