यहां बहुत सारे उत्तर हैं, लेकिन मैं यहां सभी रिक्त स्थान भरना चाहता हूं:
<ब्लॉकक्वॉट>क्या MongoDB में दो संग्रहों को परमाणु रूप से अपडेट करने का कोई तरीका है?
नहीं। दो संग्रहों का परमाणु अद्यतन प्रभावी रूप से एक लेनदेन है। MongoDB पूरे संग्रह में या संग्रह के भीतर भी लेनदेन का समर्थन नहीं करता है।
MongoDB कई संशोधक प्रदान करता है जो एक ही दस्तावेज़ पर परमाणु होते हैं। तो आप एक साथ कई अलग-अलग वैरिएबल बढ़ा सकते हैं ($inc
) हालांकि यहां कुछ सीमाएं हैं, आप एक ही संपत्ति पर दो अलग-अलग संचालन नहीं कर सकते हैं।
क्या एक बार में दूसरे संग्रह के परिणामों के आधार पर एक संग्रह में कुछ सशर्त रूप से बदलने का कोई तरीका है?
सामान्य रूप से परमाणु अद्यतनों पर यहाँ कुछ दस्तावेज़ हैं। हालांकि, आपको वास्तव में एक कतार और दो-चरण की प्रतिबद्धता के किसी रूप की आवश्यकता है या आपको ट्रिगर की आवश्यकता है।
ट्रिगर अभी तक लागू नहीं किए गए हैं, इसलिए यह वास्तव में आपके मामले में एक विकल्प नहीं है।
<ब्लॉकक्वॉट>ऐसी संभावना है कि उन कार्यों के बीच संदेश को पढ़ा गया के रूप में चिह्नित किया जाएगा, फिर मैं गलत तरीके से "अपठित" की संख्या कम कर दूंगा।
इस बिंदु पर, आपके पास इस व्यवहार को कुछ स्तर की स्थिरता के साथ बनाने के लिए कुछ अलग रणनीतियाँ हैं। स्पष्ट रूप से, आपके विवरण के आधार पर, आप एक साधारण कतार बनाने की जांच करना चाह सकते हैं जो आपके योग को अपडेट करती है।