sql >> Database >  >> NoSQL >> MongoDB

MongoDB Integrity Update edge-case

Omdat updates van afzonderlijke documenten atomic zijn , ongeacht de volgorde waarin uw twee opdrachten worden uitgevoerd, zal het document eindigen als:

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

Als de eerste opdracht als eerste wordt uitgevoerd, overschrijft de tweede opdracht deze.

Als de tweede opdracht als eerste wordt uitgevoerd, heeft de eerste opdracht geen effect als approve is nu true dus de updatevoorwaarden komen niet overeen.

Wat u (correct) doet, is de gevestigde optimistische gelijktijdigheid of "update indien actueel" benadering voor het beheren van gelijktijdige toegang.




  1. MongoDB en Mongoose:geneste array van documentreferentie-ID's

  2. Redis uitvoeren op Travis CI

  3. HDFS NameNode High Availability in Hadoop

  4. Query op mongoid hash-veld