MongoDB create index: cómo crear índices con esta función

Con la función de MongoDB create index puedes generar un índice, creando así una mejor visión de conjunto y facilitando la respuesta a las consultas. Puedes personalizar aún más el índice con varios parámetros.

¿Qué es en MongoDB create index?

Para entender para qué se utiliza create index en MongoDB y por qué la función es tan importante para el trabajo diario con el sistema de gestión de bases de datos, merece la pena echar un vistazo a la estructura de MongoDB: diferencia de los sistemas relacionales como MySQL, la solución NoSQL no se basa en tablas. Los documentos se almacenan en colecciones y, por tanto, no tienen que seguir un esquema, son escalables y muy flexibles. De este modo, se pueden crear enormes bases de datos, crear colecciones y añadir documentos. Sin embargo, si envías una solicitud para localizar determinados datos o registros de datos, necesitas seguir un orden que se consigue mediante índices.

Un índice no solo crea más orden en una base de datos, sino que también facilita al sistema el procesamiento de las consultas de búsqueda. De lo contrario, en una enorme colección de muchos miles de documentos, se producen tiempos de espera largos y resultados confusos. Si, por el contrario, creas índices para los documentos, estarán mejor ordenados y se podrán encontrar más rápidamente. Como el sistema solo tiene que leer una parte de los documentos, la búsqueda es mucho más eficaz. Para este proceso, usa el comando de MongoDB create index.

La sintaxis de MongoDB create index

La escritura de MongoDB create index se compone del nombre de la colección, el comando real, el criterio para las consultas de búsqueda y una dirección de conteo:

>db.NOMBRE_DE_LA_COLECCIÓN.createIndex ( {CLAVE:1} )

“NOMBRE_DE_LA_COLECCIÓN” designa el nombre de la colección en la que se va a crear el índice. "createIndex" es el comando correspondiente, “CLAVE” designa el campo dentro de la colección y el "1" indica que la ordenación debe hacerse en orden ascendente. Para el sentido contrario, seleccione "-1".

MongoDB create index: ejemplo de uso

Para entender mejor la funcionalidad y la utilidad de create index, utilizamos un ejemplo sencillo:

>db.ejemplo.createIndex ( {"title":1} )

El resultado es el siguiente:

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter": 2,
"ok" : 1
}

La primera línea indica que la colección fue creada manualmente con MongoDB create collection. La segunda línea muestra cuántos índices hay antes de que se ejecute el comando. La tercera línea muestra el número de índices después del comando, y la cuarta línea indica el éxito de la operación.

Opciones para las funciones de MongoDB create index

Para optimizar la función de creación de índices, puedes utilizar varias opciones adicionales en MongoDB, que se escribirán dentro de los paréntesis, después de las llaves. Existen las siguientes opciones:

  • background: este parámetro crea el índice en segundo plano y así evita que el proceso de creación interfiera con otras actividades de la base de datos. Esta opción siempre contiene un valor booleano, por lo que es “false” o “true”. El valor por defecto es “false”.
  • unique: “unique” también es un valor booleano. Si es “true”, se crea un índice único mediante create index, que no incluye ningún documento cuyo valor clave ya esté en uso. De este modo, cada valor de la clave sólo aparece una vez. El valor de unique por defecto también es “false”.
  • name: con esta opción puedes dar a tu índice el nombre deseado. Si omites este parámetro, el sistema genera un nombre automáticamente.
  • sparse: si estableces este valor como “true”, el índice solo considerará los documentos con un campo claramente definido. Este método ahorra espacio, pero también puede ser inexacto. El valor por defecto es “false”.
  • expireAfterSeconds: con esta opción decides cuánto tiempo mantiene MongoDB los documentos en una colección. El valor se da en segundos.
  • weights: este parámetro determina la importancia de un campo en comparación con otros campos de un índice. El valor va de 1 a 99 999.
  • default_language: si quieres utilizar un idioma distinto del inglés para el comando de MongoDB create index, puedes especificarlo con “default_language”.
  • language_override: con esta opción anulas el idioma por defecto.

Eliminar índices con MongoDB drop index

Ahora que sabes cómo crear un nuevo índice con create index, la única pregunta que queda es cómo eliminar dicho índice. Para este caso puedes recurrir a la función de MongoDB drop index y tienes dos opciones: o bien especificas el archivo del que quieres eliminar el índice o directamente el nombre del índice correspondiente.

Esta es la sintaxis del primer método:

>db.NOMBRE_DE_LA_COLECCIÓN.dropIndex ( {CLAVE:1} )

La sintaxis del segundo método es la siguiente:

dropIndex ("Nombre_del_índice")
¿Le ha resultado útil este artículo?
Page top