sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Integrity Update edge case

Eftersom enstaka dokumentuppdateringar är atomära , oavsett i vilken ordning dina två kommandon körs, kommer dokumentet att sluta som:

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

Om det första kommandot körs först, kommer det andra kommandot att åsidosätta det.

Om det andra kommandot körs först, har det första kommandot ingen effekt som approve är nu true så att uppdateringsvillkoren inte matchar.

Vad du (korrekt) gör är den väletablerade optimistiska samtidigheten eller "update if current" metod för att hantera samtidig åtkomst.




  1. Hur skulle jag bara ta tag i artiklar med kommentarer som skapades för 20 minuter sedan?

  2. Lagring av formulärscheman och funktioner i en databas

  3. Node.js + MongoDB - findOne() returnerar ett fält som inte fungerar

  4. Hur summerar man arrayer från olika dokument i MongoDB Aggregation?