Crear índices en MongoDB

Shraddha Paghdar 20 junio 2023
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 })
  1. KEY_NAME es el nombre del campo sobre el que desea establecer un índice.
  2. El punto anterior indica que el orden debe ser ascendente. Por lo tanto, debe usar -1 para construir un índice en orden descendente.
  3. 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, introduzca true. El valor predeterminado se establece en false.
    • 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, especifique true. El valor predeterminado se establece en false.
    • Si la variable booleana sparse se establece en true, 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 el lematizador y tokenizador para un índice de texto.
    • La variable entera expireAfterSeconds define un valor de tiempo 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 Paghdar avatar Shraddha Paghdar avatar

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

Artículo relacionado - MongoDB Index