Pancho Blog

MongoDB indices

By Francisco Martínez alias Anariak on Feb 23, 2025
MONGODB INDEX

MongoDB indicex

Dentro de MongoDB los indices tienen un papel bastante importantes, los cuales nos apoyan a la hora de realizar busquedas, ya que sin ellos, MongoDB deberia buscar dentro de todos los documentos existentes en la colección, en cambio al aplicar un nuevo indice, podriamos mejorar y limitar la busqueda a solo algunos parametros especificos y ahora la pregunta ¿ Cuando deberiamos usarlos o aplicarlos en nuestra colección?.

Casos de uso

Primero que nada, veamos que seria un indice en el mundo real, si lo pensamos en algo cotidiano, seria el indice de un libro el cual nos entrega un detalle simple para decirnos donde esta cada cosa, ahora siguiendo lo que estamos trabajando veamos que es lo que es un indice y cuantos tipos tenemos a la mano.

Dentro de MongoDB tenemos 2 tipos de indices, los cuales son Indice de valor unico y los indices de valor compuesto , los cuales explicaremos a continuacion.

  • Indice de valor único: Este tipo de índice se crea en un solo campo de un documento. Es útil cuando queremos buscar documentos basados en un solo atributo. Por ejemplo, un índice en el campo email de una colección de usuarios.

  • Indice de valor compuesto: Este tipo de índice se crea en múltiples campos de un documento. Es útil cuando queremos realizar búsquedas basadas en más de un atributo. Por ejemplo, un índice en los campos firstName y lastName de una colección de usuarios.

ÍndiceDescripciónEjemplo
Índice SimpleÍndice en un solo campo.{ nombre: 1 }
Índice ÚnicoEvita valores duplicados.{ email: 1 }, { unique: true }
Índice CompuestoÍndice en varios campos.{ nombre: 1, edad: -1 }
Índice de TextoPara búsquedas de texto.{ descripcion: "text" }
Índice GeoespacialPara búsquedas con coordenadas (lat, lng).{ ubicacion: "2dsphere" }

¿Cuándo deberíamos usar índices?

  1. Consultas frecuentes: Si realizamos consultas frecuentes en un campo específico, deberíamos considerar crear un índice en ese campo para mejorar el rendimiento de la búsqueda.
  2. Consultas de rango: Si realizamos consultas que buscan un rango de valores, como fechas o precios, un índice puede acelerar estas búsquedas.
  3. Consultas de combinación: Si realizamos consultas que combinan múltiples campos, un índice compuesto puede ser beneficioso.
  4. Ordenamiento: Si necesitamos ordenar los resultados de una consulta, un índice en el campo de ordenamiento puede mejorar el rendimiento.

Es importante tener en cuenta que los índices también tienen un costo, ya que ocupan espacio en disco y pueden afectar el rendimiento de las operaciones de escritura. Por lo tanto, debemos equilibrar el uso de índices según nuestras necesidades específicas.

En resumen, los índices en MongoDB son una herramienta poderosa para mejorar el rendimiento de las consultas, pero deben usarse de manera estratégica para obtener los mejores resultados.

podemos ver unos ejemplos propios de estos al igual que el anterior articulo de como crear indices y consultarlos.

AcciónComando
Crear un índice simpledb.usuarios.createIndex({ nombre: 1 })
Crear un índice únicodb.usuarios.createIndex({ email: 1 }, { unique: true })
Crear un índice compuestodb.usuarios.createIndex({ nombre: 1, edad: -1 })
Crear un índice de textodb.usuarios.createIndex({ descripcion: "text" })
Ver todos los índicesdb.usuarios.getIndexes()
Eliminar un índicedb.usuarios.dropIndex("nombre_1")
Subscribe to my Future Newsletters

Get the latest updates and articles straight to your inbox or contact me for any queries.

© Copyright 2025 by Anariak Blog. Built with ♥ by CreativeDesignsGuru.