ここで、MongoDB を使用してドキュメントの検索とドキュメント内のフィールドの更新を同時に行う必要があります。つまり、1 つのコマンドを使用して検索と更新 (原子性) を完了する必要があります。
Mongo には、FindAndModify の検索および更新操作など、単一のドキュメントに対して同様のメソッドがあります。これはアトミックですが、影響を受けるのは 1 つのドキュメントのみです。
複数のドキュメントを検索し、それに応じてドキュメントのフィールドを更新できる操作があるかどうかを尋ねたいです。
phpcn_u15822017-05-02 09:27:48
Mongoose の更新はバッチで操作できます。update の multi 属性は true に設定されています。http://www.nonb.cn/blog/nodej...
漂亮男人2017-05-02 09:27:48
1. MongoDB の原子性:
1. FindAnyModify は 1 つのドキュメントに対してのみアトミックです。
2. 複数のドキュメントに対する操作の場合、1 つのドキュメントに対する各操作はアトミックですが、操作中に他のドキュメントからの操作が行われる可能性があります。しかし、ほとんどのシナリオでは、単一のドキュメントの原子性はすでに要件を満たしています。
複数のドキュメントの操作でアトミック性を実現する必要がある場合は、独自のコード/設計で実装する必要があります。
2. 明示的なニーズに応じて、実際には update の multi オプションを使用するか、updateMany を直接使用できます。
リーリーご参考までに。
MongoDB を愛してください!