क्योंकि एकल दस्तावेज़ अपडेट परमाणु हैं , आपके दो आदेशों के निष्पादन के क्रम की परवाह किए बिना, दस्तावेज़ इस प्रकार समाप्त होगा:
{amount : 9999, approved: true, ...}
यदि पहला कमांड पहले निष्पादित होता है, तो दूसरा कमांड इसे ओवरराइड कर देगा।
यदि दूसरा कमांड पहले निष्पादित होता है, तो पहले कमांड का कोई प्रभाव नहीं पड़ता है क्योंकि approve
अब true
है इसलिए अपडेट की शर्तें मेल नहीं खातीं।
आप जो (सही ढंग से) कर रहे हैं वह सुस्थापित आशावादी समवर्ती है। या "update if current" समवर्ती पहुंच के प्रबंधन के लिए दृष्टिकोण।