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.