आपको उस दस्तावेज़ को उसके ObjectID द्वारा प्राप्त करना होगा, जो उस वर्तमान नोड पर संभव नहीं होगा जिसे आप oplog
से जोड़ रहे हैं से क्योंकि जब तक आप oplog
. से डिलीट ऑपरेशन प्राप्त कर चुके होते हैं , दस्तावेज़ चला गया है। मेरा मानना है कि इसका मतलब है कि आपके पास दो विकल्प हैं:
- सुनिश्चित करें कि सभी डिलीट एक अपडेट ऑपरेशन से पहले हैं जो आपको डिलीट करने से पहले आवश्यक दस्तावेज़ फ़ील्ड देखने की अनुमति देता है (यह निश्चित रूप से डिलीट को और अधिक महंगा बना देगा)
- एक स्लेव डिले के साथ सेकेंडरी रन करें और फिर हटाए गए दस्तावेज़ के लिए उस नोड को क्वेरी करें (या तो सीधे या टैग )।
नंबर 2 के लिए, समस्या में देरी हो रही है जो यह गारंटी देने के लिए पर्याप्त है कि आप दस्तावेज़ प्राप्त कर सकते हैं और यह सुनिश्चित करने के लिए पर्याप्त है कि आपको दस्तावेज़ का अद्यतित संस्करण मिल रहा है। जब तक आप दस्तावेज़ में संस्करण को चेक के रूप में नहीं जोड़ते हैं (जो तब विकल्प 1 के समान हो रहा है, तो आप संभवतः हटाने से पहले संस्करण को अपडेट करना चाहेंगे), यह अनिवार्य रूप से एक आशावादी, सर्वोत्तम प्रयास समाधान होना चाहिए।