问下 MongoDB 中有没有批量查找文档的同时然后更新文档指定字段值的功能?
为情所困
为情所困 2017-05-02 09:25:48
0
2
646

现在有一个需求是使用 MongoDB 查找文档的同时将文档中的字段给更新掉,也就是用一个命令完成查找以及更新(原子性)。
Mongo 中对于单个文档是有类似的方法的,比如 FindAndModify 查找并更新的操作,并且是原子性的,但是只作用于单个文档。
问下有没有可以实现查找多个文档并且相应的更新文档的字段的操作。

为情所困
为情所困

répondre à tous(2)
phpcn_u1582

La mise à jour Mongoose peut être effectuée par lots. L'attribut multi de la mise à jour est défini sur true, http://www.nonb.cn/blog/nodej...

漂亮男人

1. Atomicité dans MongoDB :

1. C'est atomique pour un seul document. FindAnyModify n'exploite qu'un seul document, donc c'est atomique ;

2. Pour les opérations sur plusieurs documents, chaque opération sur un seul document est atomique, mais l'opération entière n'est pas atomique. Pendant l'opération, il peut y avoir des opérations sur d'autres documents.

Mais dans la plupart des scénarios, l'atomicité d'un seul document répond déjà aux exigences

;

Si vous avez besoin d'atteindre l'atomicité pour le fonctionnement de plusieurs documents, vous devez l'implémenter avec votre propre code/conception.

2. Pour vos besoins exprimés, vous pouvez effectivement utiliser l'option multi de update, ou utiliser directement updateMany.

db.collection.updateMany()

db.collection.update(,{multi : true})
Pour référence.

J'adore MongoDB ! Amusez-vous !

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal