जैसा कि आप वर्णन करते हैं, इंडेक्स को बदलने का कोई तरीका नहीं है, और अगर मुझे लगता है कि प्रदर्शन के मामले में परिणाम समान होगा - उदाहरण के लिए यह ऑपरेशन चल रहा था, तो डेटाबेस आधे बनाए गए/बदले गए इंडेक्स का उपयोग कैसे करेगा?पी>
इसके बजाय मैं एक नोड पर इंडेक्स बनाने के लिए बैकग्राउंड विकल्प का उपयोग करने की सलाह दूंगा, यदि वह आपकी कॉन्फ़िगरेशन है - इसमें अधिक समय लगेगा लेकिन आपके सामान्य ऑपरेशन में उतना हस्तक्षेप नहीं होगा। एक बार यह समाप्त हो जाने के बाद आप अपने खाली समय में पुराने सूचकांक को छोड़ सकते हैं।
हालांकि , यदि आपके पास एक प्रतिकृति सेट (अनुशंसित) है, तो आपको पता होना चाहिए कि अनुक्रमणिका निर्माण हमेशा (वर्तमान में) द्वितीयक पर अग्रभूमि में किया जाता है। यदि आप अपने सेकेंडरी पर लोड से बचना चाहते हैं, तो आपको एक बार में एक सदस्य को बाहर निकालने और सेट में फिर से शामिल होने से पहले आवश्यक इंडेक्स बनाने के लिए यहां बताए गए चरणों का पालन करना चाहिए:
http://docs.mongodb.org/manual/administration/indexes/#index-build-replica-sets
अपडेट करें
सेकेंडरी पर बैकग्राउंड इंडेक्स का निर्माण 2.6 रिलीज के साथ संभव होगा (विवरण के लिए रिलीज नोट्स देखें)। इसे पिछले संस्करणों में वापस नहीं भेजा जाएगा, इसलिए उपरोक्त नोट 2.6 से पहले के संस्करणों के लिए सही होगा।
अंत में, एक सामान्य नोट के रूप में, पृष्ठभूमि में निर्मित इंडेक्स आमतौर पर अग्रभूमि में निर्मित इंडेक्स की तुलना में बड़े और कम कुशल होंगे, इसलिए उपरोक्त पद्धति का अभी भी इसका उपयोग होगा।