हाँ यह डिजाइन द्वारा है। MongoDB स्पष्ट रूप से जुड़ने या लेनदेन प्रदान नहीं करता है। निकालें + सहेजें लेन-देन का एक रूप है।
आपके पास वास्तव में यहां दो कम जटिलता वाले विकल्प हैं, दोनों में findAndModify
. शामिल है ।
विकल्प #1:एकल संग्रह
आपके विवरण के आधार पर, आप मूल रूप से कुछ अतिरिक्त सुविधाओं के साथ एक कतार बना रहे हैं। यदि आप एक संग्रह का लाभ उठाते हैं तो आप findAndModify
. का उपयोग करते हैं प्रसंस्करण के दौरान प्रत्येक आइटम की स्थिति को अपडेट करने के लिए।
दुर्भाग्य से, इसका मतलब है कि आप इसे खो देंगे:...कि "आने वाले" संग्रह को इस तरह बहुत छोटा और तेज़ रखा जा सकता है ।
विकल्प #2:दो संग्रह
दूसरा विकल्प मूल रूप से दो चरण की प्रतिबद्धता है, जिसका लाभ उठाना findAndModify
. है ।
इसके लिए दस्तावेज़ देखें यहां ।
एक बार जब कोई आइटम A . में संसाधित हो जाता है आप इसे हटाने के लिए ध्वजांकित करने के लिए एक फ़ील्ड सेट करते हैं। फिर आप उस आइटम को B . पर कॉपी कर लें . एक बार B . पर कॉपी हो जाने के बाद फिर आप आइटम को A . से हटा सकते हैं ।