mongodb中$ isolated和findAndModify有什么区别?

时间:2016-12-20 15:17:35

标签: mongodb concurrency

mongodb中的$isolatedfindAndModify都会阻止其他进程更改文档。我对这两种方法的不同感到困惑,它们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

findAndModify不会阻止其他进程更改文档。

让我们说过程A和B都试图同时更新文档。

使用$isolated

  1. A找到文档
  2. B想找到该文件,但它已被阻止
  3. 更新文档
  4. B找到文件
  5. B更新文档
  6. 文件值为B
  7. 使用findAnyModify

    1. A找到文档
    2. B找到文件
    3. B更新文档
    4. 更新文档
    5. 文档值为A
    6. 进一步阅读:What's the difference between findAndModify and update in MongoDB?

相关问题