Tengo una colección para la que no necesito ningún índice. Solo guardo el término y la fecha de búsqueda del usuario, por lo que mi colección es realmente simple.¿Puedo eliminar el índice MongoDB predeterminado?
class UserSearch {
public string Term {get; set;}
pulic DateTime Date {get;set;}
}
Cuando almaceno un elemento UserSearch, mi colección tiene _id e índice predeterminado en él.
Según mi conocimiento, esos campos "_id" se indexarán en RAM, por lo que no quiero gastar memoria RAM para la recopilación que acabo de almacenar y estoy calculando algo cada 12 horas.
Intento eliminarlo, pero no puedo.
var indexes = UserSearch(true).GetIndexes();
//delete UserSearch Default Index
if(UserSearch(true).IndexExistsByName("_id_"))
{
UserSearch(true).DropIndexByName("_id_");
}
¿Alguna sugerencia/solución?
En realidad, no necesita _id para duplicar o fragmentar. Puede establecer cualquier otro índice o índice compuesto. –
@AdrianLopez Tenga en cuenta la advertencia: 'IMPORTANTE Para conjuntos de réplicas, no configure autoIndexId en falso. 'Https://docs.mongodb.com/manual/reference/method/db.createCollection/#db.createCollection –
Abordé ese punto en mi respuesta @KevinJohnson – styvane