यदि मैं मोंगो में संग्रह बनाता हूं, और इस संग्रह में दस्तावेज़ जोड़ने के बाद, मैं इस संग्रह में किसी दस्तावेज़ पर एक संख्या फ़ील्ड पर एक इंडेक्स बनाने के लिए ensureIndex()
का उपयोग करता हूं, अगर मैं संग्रह छोड़ देता हूं, तो क्या मुझे इसे फिर से बनाना होगा सूचकांक?मोंगोडीबी में, यदि संग्रह गिरा दिया गया है, तो इंडेक्स स्वचालित रूप से भी गिराए गए हैं?
उत्तर
संक्षिप्त उत्तर: हाँ।
इंडेक्स संग्रह ड्रॉप पर गिर रहे हैं। आपको एक इंडेक्स को फिर से बनाना होगा।
आप संग्रह छोड़ना नहीं चाहते हैं लेकिन db.collection_name.remove({})
के साथ सभी आइटम हटाएं। यह अधिक संसाधन लेगा लेकिन अपनी अनुक्रमणिका छोड़ दें। दरअसल इसे सभी इंडेक्स डेटा को हटाना होगा। यही कारण है कि पूरे संग्रह को छोड़ना और इसके बाद इंडेक्स को फिर से बनाना अधिक पसंद है।
संग्रह को छोड़ना, जैसा कि आप संदेह करते हैं, सभी संग्रहों को छोड़ देते हैं, इसलिए जब आप संग्रह को फिर से बनाते हैं (या तो स्पष्ट रूप से, या नए दस्तावेज़ जोड़कर स्पष्ट रूप से) आपको किसी भी इंडेक्स को फिर से बनाने की आवश्यकता होगी। _id
पर डिफ़ॉल्ट अनुक्रमणिका आपके लिए स्वचालित रूप से बनाई गई है।
ठीक है, समझा जाता है, क्या इंडेक्स() को एक ही संग्रह पर एकाधिक बार सुनिश्चित करने में कोई नुकसान है यदि सूचकांक पहले से मौजूद है? – raffian
कोई नुकसान नहीं। यह जांचने के लिए मामूली प्रदर्शन प्रभाव है कि आप जिस इंडेक्स को सुनिश्चित करने का प्रयास कर रहे हैं वह पहले से ही है या नहीं। –
मैंने इसे 10 इंडेक्स के साथ संग्रह पर किया और मैन्युअल रूप से उनको पुनर्जीवित नहीं करना चाहता था। आप एक बूंद को पूरा और मोंगो खोल में निम्न तीन पंक्तियों से सूचकांक पुन: कर सकते हैं:
var indexes = db.collection.getIndexKeys().splice(1)
db.collection.drop();
indexes.forEach(function(el){ db.collection.ensureIndex(el, {background:true}); })
यह अनूठा या विरल अनुक्रमणिका को संभालने के लिए बहुत चालाक नहीं है, लेकिन मुझे लगता है कि काफी का उपयोग करके समर्थन करने के लिए आसान होगा इसके बजाय getIndexes() का आउटपुट। मुझे इसकी आवश्यकता नहीं थी, इसलिए मैंने ऐसा नहीं किया।
विभाजन (1) सिर्फ आईडी पर इंडेक्स को निकालने के लिए है, क्योंकि यह स्वतः बनाया जाएगा।
बहुत धन्यवाद, लेकिन '{background: true} 'ने मेरी अनुक्रमणिका को मिटा दिया, बिना यह महान काम करता है –
- 1. जब कोई बाधा छोड़ती है तो सहायक इंडेक्स भी गिराए जाएंगे?
- 2. क्या एयर स्पेस समर्थन निश्चित रूप से WPF 4.5 में गिरा दिया गया है?
- 3. स्वचालित रूप से संग्रह
- 4. jQuery UI - गिराए गए ड्रैगगेबल
- 5. यदि मैं डेटाग्राम सॉकेट से सक्रिय रूप से प्राप्त नहीं कर रहा हूं तो क्या पैकेट गिराए गए हैं?
- 6. यदि अंतिम क्षण में कोई सुविधा गिरा दी जाती है तो आप क्या करते हैं?
- 7. jQuery ड्रैगगेबल + ड्रॉपपेबल - भौतिक रूप से ड्रैग किए गए आइटम को गिराए गए कंटेनर में
- 8. आईआईएस को पुनरारंभ करें यदि नया डीएल बिन में गिरा दिया गया है?
- 9. आइटम/ऑब्जेक्ट प्राप्त करें जहां तत्व गिरा दिया गया है
- 10. क्या कक्षा आरेख स्वचालित रूप से अपडेट किए गए हैं? यदि नहीं, तो क्या ऐसा करना संभव है?
- 11. फ़ाइल को बाहरी रूप से बदल दिया गया है, तो मैं स्वचालित रूप से vim जांच कैसे कर सकता हूं?
- 12. यदि DNS सर्वर 'स्वचालित रूप से प्राप्त'
- 13. क्या दृश्य स्वचालित रूप से अपडेट किए गए हैं
- 14. जावा अगर कथन में गलत मान दिया गया है तो
- 15. ओपनसीवी "कैमरा गिराए गए फ्रेम" को चुप कैसे करें
- 16. वर्डप्रेस: यदि वे मौजूद नहीं हैं तो स्वचालित रूप से श्रेणी और टैग डालें?
- 17. यदि "उपयोग" में कोई अपवाद है तो इसे स्वचालित रूप से
- 18. ओरेकल स्वचालित रूप से इंडेक्स कैसे बनाएगा?
- 19. विभिन्न प्रकारों पर मोंगोडीबी इंडेक्स
- 20. jQuery यूआई हटाएं तत्व का उपयोग करते हुए एक div में गिरा दिया गया है .droppable
- 21. यदि बेस क्लास को चिह्नित किया गया है तो Serializable सभी बच्चे वर्ग भी चिह्नित हैं?
- 22. विंसॉक यूडीपी पैकेट गिराए जा रहे हैं?
- 23. यदि वे 1px से बड़े हैं तो HTML में दोहराए गए पृष्ठभूमि को अधिक कुशल बना दिया जाता है?
- 24. MySQL: यदि फ़ील्ड दिया गया है तो वैकल्पिक फ़ील्ड का चयन खाली है
- 25. स्वचालित रूप से
- 26. मोंगोडीबी: दस्तावेज़ में "सार्वजनिक रूप से" उपयोग करना सुरक्षित है?
- 27. चयन स्वचालित रूप से एक्स 11 क्लिपबोर्ड में डाल दिया गया - वीआईएम
- 28. क्या पाइथन में अस्थायी संदर्भ स्वचालित रूप से साफ़ किए गए हैं?
- 29. IDISposable है।() स्वचालित रूप से बुलाया गया है?
- 30. NH12ern85 स्वचालित रूप से
क्या मैं खाली संग्रह पर एक इंडेक्स बना सकता हूं? – raffian
हाँ आप कर सकते हैं। जब आप इंडेक्स बनाते हैं तो संग्रह बनाया जाएगा। –
'निकालें()' बड़े संग्रह पर लंबा समय ले सकता है। 'ड्रॉप()' बहुत तेज़ है, लेकिन सभी इंडेक्स को हटाने का नकारात्मक हिस्सा है, जैसा कि पहले से ही नोट किया गया है। – dcrosta