मेरे पास एक संग्रह है जिसके लिए मुझे किसी भी इंडेक्स की आवश्यकता नहीं है। मैं सिर्फ उपयोगकर्ता खोज शब्द और तारीख संग्रहीत करता हूं, इसलिए मेरा संग्रह वास्तव में सरल है।क्या मैं डिफ़ॉल्ट मोंगोडीबी इंडेक्स को हटा सकता हूं?
class UserSearch {
public string Term {get; set;}
pulic DateTime Date {get;set;}
}
जब मैं एक उपयोगकर्ता खोज आइटम संग्रहीत करता हूं, तो मेरे संग्रह में _id और डिफ़ॉल्ट अनुक्रमणिका होती है।
मेरे ज्ञान से, उन "_id" फ़ील्ड को रैम में अनुक्रमित किया जाएगा, इसलिए मैं संग्रह के लिए राम स्मृति नहीं बिताना चाहता हूं जिसे मैं अभी स्टोर करता हूं और मैं हर 12 घंटों में कुछ गणना कर रहा हूं।
मैं इसे हटाने का प्रयास करता हूं, लेकिन मैं नहीं कर सकता।
var indexes = UserSearch(true).GetIndexes();
//delete UserSearch Default Index
if(UserSearch(true).IndexExistsByName("_id_"))
{
UserSearch(true).DropIndexByName("_id_");
}
कोई सुझाव/समाधान?
असल में आपको प्रतिकृति या शेर्डिंग के लिए _id की आवश्यकता नहीं है। आप कोई अन्य इंडेक्स या कंपाउंड इंडेक्स सेट कर सकते हैं। –
@AdrianLopez कृपया चेतावनी का ध्यान रखें: 'महत्वपूर्ण प्रतिकृति सेट के लिए, autoIndexId को गलत पर सेट न करें। 'Https://docs.mongodb.com/manual/reference/method/db.createCollection/#db.createCollection –
मैंने अपने उत्तर में उस बिंदु को संबोधित किया @ केविन जॉन्सन – styvane