मुझे संदेह है कि ऐसा कुछ भी है जो गारंटी हो सकता है उल्लिखित 2-चरण प्रतिबद्धता के अलावा डेटा अखंडता। कम से कम v4 घोषित किए जाने तक ए> ।
गलत गणना होने की संभावना को कम करने के लिए कुछ चीजें हैं। सम्मिलित करें और एक थोक . यह संभावना कम कर देगा कि एक ऑपरेशन आवेदन पक्ष पर विफल हो जाता है, क्योंकि यह एक ही अनुरोध है।
फिर जांचें कि क्या nInserted === 1
, और nModified === 1
. अन्यथा दिए गए पोस्ट आईडी के लिए पुन:प्रयास करें या फिर से गणना कार्य करें।
पुन:प्रयास के लिए पुन:प्रयास करने योग्य लेखन सक्षम, जैसा कि आप $inc
. का उपयोग करने जा रहे हैं पदों पर, जो निष्क्रिय ऑपरेशन से काफी दूर है।
एक अन्य विकल्प transactionless लागू करना है दृष्टिकोण - "टिप्पणियों को अद्यतन करने के लिए समय की हर अवधि में स्क्रिप्ट चलाएं" और "टिप्पणियों को स्टोर न करें" का एक प्रकार का संयोजन। आपको अंतिम पुनर्गणना कार्य का टाइमस्टैम्प रखना होगा, और तिथि के बाद से नई टिप्पणियों की गणना करनी होगी।