Parce que les mises à jour de documents uniques sont atomiques , quel que soit l'ordre d'exécution de vos deux commandes, le document se terminera par :
{amount : 9999, approved: true, ...}
Si la première commande s'exécute en premier, la deuxième commande la remplacera.
Si la deuxième commande s'exécute en premier, la première commande n'a aucun effet car approve
est maintenant true
donc les conditions de mise à jour ne correspondront pas.
Ce que vous faites (correctement) est la concurrence optimiste bien établie ou "update if current" approche de gestion des accès simultanés.