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.