सम्मय के अनुसार, ऐसा नहीं लगता कि ऐसा करने का कोई "उचित" तरीका है। मेरा समाधान एक मोंगो साइट पर उल्लिखित अनुक्रम और बस मेरे संग्रह में प्रत्येक रिकॉर्ड में 'seq' फ़ील्ड जोड़ें। अब मेरे पास एक अद्वितीय फ़ील्ड है जिसे अद्यतन करने के लिए विश्वसनीय रूप से क्रमबद्ध किया जा सकता है।
विश्वसनीय रूप से क्रमबद्ध यहां महत्वपूर्ण है। मैं बस ऑटो-जेनरेटेड _id पर सॉर्ट करने जा रहा था, लेकिन मुझे जल्दी से एहसास हुआ कि ऑब्जेक्ट आईडी के लिए प्राकृतिक क्रम आरोही क्रम के समान नहीं है (यह पेज ऐसा लगता है कि स्ट्रिंग मान ऑब्जेक्ट मान पर प्राथमिकता लेता है जो परीक्षण में मेरे द्वारा देखे गए व्यवहार से मेल खाता है)। साथ ही, डिस्क पर रिकॉर्ड को स्थानांतरित करना पूरी तरह से संभव है जो प्राकृतिक क्रम को छँटाई के लिए अविश्वसनीय बनाता है।
तो अब मैं रिकॉर्ड के लिए सबसे छोटे 'seq' के साथ पूछताछ कर सकता हूं जिसे एक समावेशी प्रारंभिक बिंदु प्राप्त करने के लिए पहले ही अपडेट नहीं किया गया है। इसके बाद मैं अपने शुरुआती बिंदु से अधिक 'seq' वाले रिकॉर्ड के लिए क्वेरी करता हूं और छोड़ देता हूं (इसे छोड़ना महत्वपूर्ण है क्योंकि यदि आप दस्तावेज़ हटाते हैं, तो 'seq' विरल हो सकता है ...) जितने रिकॉर्ड मैं अपडेट करना चाहता हूं। उस क्वेरी पर 1 की सीमा रखें और आपके पास एक गैर-समावेशी समापन बिंदु है। अब मैं 'अपडेटेड' =0, 'seq'>=my start point और
ये चरण फिर से हैं:
बहुत दर्द होता है लेकिन काम हो जाता है।