Crear índices en MongoDB
Los índices ayudan en la resolución efectiva de consultas. Sin índices, MongoDB tiene que revisar cada documento de una colección para encontrar los que coincidan con la consulta.
Puede perder tiempo y requiere que MongoDB maneje dicha información. Entonces, en el artículo de hoy, aprenderemos cómo crear índices en MongoDB.
Crear un índice en MongoDB
Los índices son estructuras de datos especializadas que mantienen un subconjunto limitado del conjunto de datos en un formato accesible. El valor de un campo particular o colección de campos se almacena en el índice, ordenado por el valor del campo como se indica en el índice.
MongoDB admite diferentes tipos de índices. Algunos de los índices son campo único
, índice compuesto
, índice multiclave
, índice geoespacial
, índice Hashed
e índice agrupado
.
Sintaxis:
db.COLLECTION.createIndex({ KEY_NAME:1 })
KEY_NAME
es el nombre del campo sobre el que desea establecer un índice.- El punto anterior indica que el orden debe ser ascendente. Por lo tanto, debe usar
-1
para construir un índice en orden descendente. - El método
createIndex()
acepta una lista de argumentos opcionales. El listado está abajo.unique
es una variable booleana que crea un índice único, evitando que la colección acepte la inserción de documentos cuya clave o claves de índice ya existen. Para establecer un índice único, introduzcatrue
. El valor predeterminado se establece enfalse
.- La variable booleana
background
construye el índice en segundo plano, por lo que no obstruye otras operaciones de la base de datos. Para construir en segundo plano, especifiquetrue
. El valor predeterminado se establece enfalse
. - Si la variable booleana
sparse
se establece entrue
, el índice solo se referirá a los documentos con el campo especificado. Aunque estos índices ocupan menos espacio, pueden actuar de manera diferente (particularmente ordenar).false
es la configuración predeterminada. - La variable de cadena
nombre
contiene el nombre del índice. Si no se proporciona un nombre de índice, MongoDB crea uno al unir los nombres de los campos indexados y el orden de clasificación. - La variable de cadena idioma
predeterminado
es el idioma que establece la lista de palabras vacías y los criterios para ellematizador
ytokenizador
para un índice de texto. - La variable entera
expireAfterSeconds
define un valor detiempo de vida
(TTL
) en segundos para limitar cuánto tiempo MongoDB conserva los documentos en esta colección.
Puede encontrar más información sobre .createIndex()
aquí. Usemos el siguiente ejemplo para entender la idea mencionada:
> db.users.createIndex({ "email": 1, "country": -1 })
En el ejemplo anterior, creamos un nuevo índice compuesto
donde correo electrónico
se almacena en orden descendente
y país
se ordena en orden ascendente
. Cada vez que se ejecuta una consulta, el índice primero ordena por “correo electrónico” del usuario antes de ordenar por “país” dentro de cada valor de “correo electrónico”.
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn