MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Integritätsupdate Grenzfall

Weil Einzeldokumentaktualisierungen atomar sind , unabhängig von der Reihenfolge, in der Ihre beiden Befehle ausgeführt werden, endet das Dokument als:

{amount : 9999, approved: true, ...}

Wenn der erste Befehl zuerst ausgeführt wird, überschreibt ihn der zweite Befehl.

Wenn der zweite Befehl zuerst ausgeführt wird, hat der erste Befehl keine Auswirkung, da approve ist jetzt true daher stimmen die Update-Bedingungen nicht überein.

Was Sie (richtig) tun, ist die etablierte optimistische Parallelität oder "update if current" Ansatz zur Verwaltung des gleichzeitigen Zugriffs.