Dan*_*nce 8 atomic mongoose mongodb
在 中MongoDB
,我正在寻找一种方法来原子地更新多个文档并在一次调用中返回所有更新的文档。
我们可以在 中执行以下所有操作MongoDB
:
findAndModify
或者findOneAndUpdate
update(...{multi: true}
或updateMany
find
我不喜欢一种方法来更新多个文档并在一次调用中将它们全部返回。有办法吗?我用作Mongoose
查询包。
\n\n\n原子更新多个文档:
\nupdate(...{multi: true}
或\nupdateMany
毫无疑问这是错误的:
\n\n\n \n\n\n
\n \n\n\n
但是,您可以通过“使用两阶段提交方法”模拟事务以原子方式更新多个文档,此处有详细描述。
\n\n您还可以查看该$isolated
运算符,它“防止影响多个文档的写入操作在第一个文档写入后屈服于其他读取或写入”, 但它“不提供 \xe2\x80\x9call-or-nothing\xe2 \x80\x9d 写入操作的原子性”
总之,在 mongodb 级别(也不在驱动程序)上不可能,但您可以在应用程序级别模拟它,因此返回您需要的内容。
\n 归档时间: |
|
查看次数: |
7250 次 |
最近记录: |