2016-12-20 12 views
2

Die $isolated und findAndModify in mongodb beide verhindern, dass andere Prozesse das Dokument ändern. Ich bin verwirrt über die Unterschiede zwischen diesen beiden Methoden, was ist der Unterschied zwischen ihnen?

Antwort

1

findAndModify verhindert nicht, dass andere Prozesse das Dokument ändern.

Angenommen, die Prozesse A und B versuchen beide, ein Dokument gleichzeitig zu aktualisieren.

Mit $isolated:

  1. A findet das Dokument
  2. B will das Dokument finden, aber es verhindert
  3. A aktualisiert das Dokument
  4. B das Dokument
  5. B findet aktualisiert das Dokument
  6. Dokumentwert ist B

Mit findAnyModify:

  1. A findet das Dokument
  2. B das Dokument
  3. B aktualisiert das Dokument
  4. A aktualisiert das Dokument
  5. Dokument Wert A
ist findet

Weiterführende Literatur: What's the difference between findAndModify and update in MongoDB?

Verwandte Themen