Ho una collezione per la quale non ho bisogno di alcun indice. Memorizzo solo termini e date di ricerca dell'utente, quindi la mia collezione è molto semplice.Posso cancellare l'indice MongoDB predefinito?
class UserSearch {
public string Term {get; set;}
pulic DateTime Date {get;set;}
}
Quando posso conservare un elemento UserSearch, la mia collezione hanno _id e indice di default su di esso.
Dalla mia conoscenza, quei campi "_id" verranno indicizzati in ram, quindi non voglio spendere memoria ram per la raccolta che ho appena archiviato e sto calcolando qualcosa ogni 12 ore.
Cerco di cancellarlo, ma non posso.
var indexes = UserSearch(true).GetIndexes();
//delete UserSearch Default Index
if(UserSearch(true).IndexExistsByName("_id_"))
{
UserSearch(true).DropIndexByName("_id_");
}
Qualche suggerimento/soluzione?
In realtà non è necessario _id per la replica o lo sharding. È possibile impostare qualsiasi altro indice o indice composto. –
@AdrianLopez Prendete nota dell'avvertenza: 'IMPORTANTE Per i set di repliche, non impostare autoIndexId su false. Https://docs.mongodb.com/manual/reference/method/db.createCollection/#db.createCollection –
Mi sono rivolto a questo punto nella mia risposta @KevinJohnson – styvane