use*_*127 3 bulkinsert atomic mongodb
我正在学习mongodb。如果我创建批量写入,此事务是全部还是全部?我有一个场景,我的用户可以删除他们的朋友。
FRIEND 1 | FRIEND 2
User B USER A
User A USER B
Run Code Online (Sandbox Code Playgroud)
为此,我需要从双向关系中删除。为了一致性,我需要将这些作为全有或全无发生,因为我不希望 2 个操作中只有 1 个成功,因为这会导致错误数据。阅读文档我找不到答案:
db.collection.initializeOrderedBulkOp() “如果在处理其中一个写入操作期间发生错误,MongoDB 将返回而不处理列表中的任何剩余写入操作。”
没有提到回滚操作,只是停止插入剩余的操作。
db.collection.insert() 方法 “insert() 方法在传递文档数组时执行批量插入,并以原子方式插入每个文档。”
你可以推出自己的。但是使用必须通过您选择的驱动程序进行的确认写入问题。shell 已确认,但驱动程序可能未确认。
https://docs.mongodb.org/manual/core/write-concern/
try
insert 1
catch
delete
try
insert 2
catch
delete 1
delete 2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5068 次 |
最近记录: |