जैसा कि आपने पाया है, द्वितीयक अनुक्रमणिका सिस्टम संग्रह जैसे local.oplog.rs
पर समर्थित नहीं हैं और *.system.profile
. मोंगोडीबी 2.4 और पुराने में इंडेक्स बनाए गए प्रतीत होते हैं, लेकिन वास्तव में कभी अपडेट नहीं किए गए थे। MongoDB (2.6+) के नए संस्करण एक त्रुटि लौटाते हैं यदि आप एक असमर्थित परिवर्तन के साथ सिस्टम संग्रह को सीधे अपडेट करने का प्रयास करते हैं जैसे कि अतिरिक्त अनुक्रमणिका बनाने का प्रयास करना।
oplog.rs
संग्रह निश्चित रूप से "विशेष" है क्योंकि इसका इच्छित उपयोग केवल प्रतिकृति के लिए है। प्रतिकृति इंटर्नल इस आधार पर ओपलॉग के लिए अपेक्षित संचालन के बारे में कुछ धारणाएँ बनाते हैं। उदाहरण के लिए, प्रतिकृति के लिए केवल oplog प्रविष्टियां सम्मिलित करने की आवश्यकता होती है -- एक सीमित संग्रह के विपरीत जिसे आप स्वयं बना सकते हैं, oplog प्रविष्टियां कभी नहीं होती हैं अपडेट किया गया।
अनुप्रयोगों से अपेक्षा की जाती है कि यदि उन्हें ओप्लॉग में डाली गई नई प्रविष्टियों का पालन करने की आवश्यकता है, या $natural
का उपयोग करके एक खोज करने की आवश्यकता है, तो वे ओपलॉग को एक पूंछ योग्य कर्सर के साथ पढ़ेंगे। आदेश।
टेलेबल कर्सर ट्यूटोरियल उपयोग पर कुछ और विवरण में जाता है, लेकिन ध्यान देने योग्य कुछ विशेष बिंदु हैं:
- टेलेबल कर्सर इंडेक्स का उपयोग नहीं करते हैं और दस्तावेजों को प्राकृतिक क्रम में वापस नहीं करते हैं।
- चूंकि टेलेबल कर्सर इंडेक्स का उपयोग नहीं करते हैं, क्वेरी के लिए प्रारंभिक स्कैन महंगा हो सकता है; लेकिन, प्रारंभ में कर्सर को समाप्त करने के बाद, नए जोड़े गए दस्तावेज़ों की बाद की पुनर्प्राप्ति सस्ती हैं