现在有一个需求是使用 MongoDB 查找文档的同时将文档中的字段给更新掉,也就是用一个命令完成查找以及更新(原子性)。
Mongo 中对于单个文档是有类似的方法的,比如 FindAndModify 查找并更新的操作,并且是原子性的,但是只作用于单个文档。
问下有没有可以实现查找多个文档并且相应的更新文档的字段的操作。
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 を愛してください!