तकनीकी रूप से आपको अपनी सामग्री को शार्प करने की आवश्यकता नहीं है और केवल अपने क्षेत्र को अनुक्रमित करने की आवश्यकता है। हाँ, आप दिनांक फ़ील्ड पर अनुक्रमणिका बना सकते हैं और इसका सम्मान किया जाएगा जिसे आप क्वेरी योजना db.collection.explain("executionStats") पर जाकर देख सकते हैं।
हालांकि, एक शार्द कुंजी चुनना बहुत महत्वपूर्ण है। शार्प की को चुनते समय कुछ बातों का ध्यान रखना चाहिए
- Write scaling (high cardinality, Randomization)
- Query Isolation. (read)
दिनांक फ़ील्ड का चयन वास्तव में एक बहुत ही उच्च कार्डिनैलिटी देता है, हालांकि यह रैंडमाइजेशन करने में विफल रहता है और परिणामस्वरूप सभी दस्तावेज़ एक ही शार्ड में जमा हो जाते हैं और इसलिए यह सिस्टम की लिखने की क्षमता को सीमित कर देता है। इसी कारण से ObjectId को शार्प की के रूप में उपयोग करने के लिए हतोत्साहित किया जाता है।
http://docs.mongodb.org/manual/core/sharding- शार्ड-की/ उपरोक्त लिंक से सामग्री.."MongoDB ऑब्जेक्ट के लिए एक विशिष्ट पहचानकर्ता का उत्पादन करने के लिए दस्तावेज़ निर्माण पर ObjectId मान उत्पन्न करता है। हालांकि, इस मान में डेटा का सबसे महत्वपूर्ण बिट एक टाइम स्टैम्प का प्रतिनिधित्व करता है, जिसका अर्थ है कि वे एक में वृद्धि करते हैं नियमित और पूर्वानुमेय पैटर्न। भले ही इस मान में उच्च कार्डिनैलिटी है, इसका उपयोग करते समय, किसी भी तारीख, या अन्य नीरस रूप से बढ़ती संख्या को शार्ड कुंजी के रूप में, सभी सम्मिलित संचालन डेटा को एक ही खंड में संग्रहीत करेंगे, और इसलिए, एक ही शार्ड। नतीजतन, इस शार्ड की लिखने की क्षमता क्लस्टर की प्रभावी लेखन क्षमता को परिभाषित करेगी।"