2016-12-20 16 views
2

mongodb中的$isolatedfindAndModify既防止其他进程更改文件。我对这两种方法的不同之处感到困惑,它们之间有什么不同?

回答

1

findAndModify不妨碍其他进程更改文件。

假设进程A和B都尝试同时更新文档。

随着$isolated

  1. A发现文档
  2. B想找到这个文件,但它防止
  3. A更新文档
  4. B发现
  5. B更新了该文件的文件
  6. 文件值是B

随着findAnyModify

  1. A发现文档
  2. B发现
  3. 乙更新文档
  4. A更新文档
  5. 文件值为A
文档

更多阅读:What's the difference between findAndModify and update in MongoDB?