Un índice en MongoDB es una estructura de datos especial que contiene los datos de algunos campos de documentos en los que se crea el índice. Los índices mejoran la velocidad de las operaciones de búsqueda en la base de datos porque en lugar de buscar en todo el documento, la búsqueda se realiza en los índices que contienen solo unos pocos campos. Por otro lado, tener demasiados índices puede obstaculizar el rendimiento de las operaciones de inserción, actualización y eliminación debido a la escritura adicional y el espacio de datos adicional utilizado por los índices.
Cómo crear un índice en la sintaxis MongoDB
:
db.collection_name.createIndex({field_name: 1 or -1})
el valor 1 para El orden ascendente y -1 es por orden descendente.
Por ejemplo, tengo una colección studentdata
. Los documentos dentro de esta colección tienen los siguientes campos:
student_name, student_id y student_age
Digamos que quiero crear el índice en el campo student_name en orden ascendente:
db.studentdata.createIndex({student_name: 1})
Salida:
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}
Hemos creado el índice en student_name, lo que significa que cuando alguien busca en el documento en función del student_name, la búsqueda será más rápida porque el índice se utilizará para esta búsqueda. Por lo tanto, esto es importante para crear el índice en el campo que se buscará con frecuencia en una colección.
MongoDB-Encontrar los índices en una colección
Podemos usar el método getIndexes () para encontrar todos los índices creados en una colección. La sintaxis de este método es:
db.collection_name.getIndexes()
por Lo que para obtener los índices de studentdata
colección, el comando sería:
> db.studentdata.getIndexes()
El resultado muestra que tenemos dos índices en esta colección. El índice predeterminado creado en _id y el índice que hemos creado en el campo student_name.
MongoDB-Eliminar índices en una colección
Puede eliminar un índice en particular o todos los índices.
Eliminar un índice específico:
Para este fin se utiliza el método dropIndex ().
db.collection_name.dropIndex({index_name: 1})
Permite colocar el índice que hemos creado en el student_name
campo en la colección studentdata
. El comando para esto:
db.studentdata.dropIndex({student_name: 1})
nIndexesWas: Muestra cuántos índices había antes de que este comando se ejecutara
ok: 1: Esto significa que el comando se ejecutó correctamente.
Eliminar todos los índices:
Para eliminar todos los índices de una colección, utilizamos el método dropIndexes ().Sintaxis del método dropIndexs ():
db.collection_name.dropIndexes()
digamos que queremos caída de todos los índices de studentdata
colección.
db.studentdata.dropIndexes()
El mensaje» índices no-_id eliminados para la colección » indica que el índice predeterminado _id permanecerá y no se podrá eliminar. Esto significa que usando este método solo podemos soltar los índices que hemos creado, no podemos soltar el índice predeterminado creado en el campo _id.