यह वास्तव में पर्ल ड्राइवर के साथ कोई समस्या नहीं है .. यह शेरिंग की विशेषताओं से संबंधित है। MongoDB निर्माण के समय केवल एक ही शार्क पर स्थित दस्तावेज़ों के बीच विशिष्टता को लागू करने में सक्षम है, इसलिए डिफ़ॉल्ट अनुक्रमणिका को विशिष्टता की आवश्यकता नहीं है।
MongoDB:Configuring Sharding में दस्तावेज़ीकरण में विशिष्ट उल्लेख है कि:
-
जब आप किसी संग्रह को शार्प करते हैं, तो आपको शार्प कुंजी निर्दिष्ट करनी होगी। यदि संग्रह में डेटा है, तो मोंगो को एक इंडेक्स बनाने की आवश्यकता होगी (यह चंकिंग प्रक्रिया को गति देता है); अन्यथा, आपके लिए एक इंडेक्स अपने आप बन जाएगा।
-
आप यह सुनिश्चित करने के लिए {unique:true} विकल्प का उपयोग कर सकते हैं कि अंतर्निहित अनुक्रमणिका विशिष्टता को तब तक लागू करती है जब तक कि अद्वितीय अनुक्रमणिका shard key का उपसर्ग है।
-
यदि "अद्वितीय:सत्य" विकल्प का उपयोग नहीं किया जाता है, तो शार्ड कुंजी का अद्वितीय होना आवश्यक नहीं है।