Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Índices para la optimización de query

En esta guía, puedes aprender a usar índices con el controlador Sync de Kotlin. Los índices pueden mejorar la eficiencia de las queries y agregar funcionalidad a la query y almacenamiento de documentos.

Sin índices, MongoDB debe escanear cada documento en una colección para encontrar los documentos que coinciden con cada query. Estos escaneos de colección son lentos y pueden afectar negativamente el rendimiento de tu aplicación. Sin embargo, si existe un índice apropiado para una query, MongoDB puede usar el índice para limitar los documentos que debe inspeccionar.

Para obtener información sobre los criterios que debe cumplir su query para devolver resultados directamente desde un índice, consulte la sección Consulta cubierta en el manual del servidor de MongoDB.

Para mejorar el rendimiento de las consultas, construye índices en los campos que aparecen con frecuencia en las consultas de la aplicación y en operaciones que devuelven resultados ordenados. Cada índice que agregues consume espacio en disco y memoria cuando está activo, por lo que podría ser necesario rastrear el uso de memoria y disco del índice para la planificación de capacidad. Además, cuando una operación de escritura actualiza un campo indexado, MongoDB también actualiza el índice relacionado.

Como MongoDB es compatible con esquemas dinámicos, las aplicaciones pueden consultar campos cuyos nombres no se pueden conocer con anticipación o son arbitrarios. Índices comodín ayudan a dar soporte a estas consultas, pero no están diseñados para reemplazar la planificación de índices basada en cargas de trabajo.

Para obtener más información sobre cómo diseñar tu modelo de datos y elegir los índices adecuados para tu aplicación, consulta la documentación del Servidor en Estrategias de indexación y Crear índices para respaldar tus consultas.

MongoDB ofrece varios tipos de índices diferentes para soportar la consulta de tus datos. Puede crear un índice llamando al método createIndex() en una colección y pasando una definición de índice como argumento.

Las siguientes secciones describen los tipos de índices más comunes y proporcionan código de muestra para crear cada tipo de índice.

Nota

Los ejemplos en esta página utilizan las colecciones sample_mflix.movies y sample_mflix.theaters de los conjuntos de datos de muestra Atlas. Para aprender cómo crear una implementación gratuita de MongoDB y cargar los conjuntos de datos de muestra, consulta Comenzar con el driver sincronizado de Kotlin.

Para obtener más información sobre los diferentes tipos de índice, consulte Tipos de Índice en el manual de MongoDB Server.

El siguiente ejemplo crea un índice ascendente en el campo especificado:

collection.createIndex(Indexes.ascending("<field name>"))

Para aprender más sobre los índices de campo único, consulta Índices de campo único en el manual de MongoDB Server.

El siguiente ejemplo crea un índice compuesto en los campos especificados:

collection.createIndex(Indexes.ascending("<field name 1>", "<field name 2>"))

Para saber más sobre los índices compuestos, consulta Índices Compuestos en el manual del MongoDB Server.

El siguiente ejemplo crea un índice de varias claves en el campo especificado que tiene valores de arreglo:

collection.createIndex(Indexes.ascending("<array field name>"))

Para saber más sobre los índices multiclave, consulta Índices multiclave en el manual del MongoDB Server.

El siguiente ejemplo crea una nueva colección con un "/índice clustered/" en el campo _id:

val clusteredIndexOptions = ClusteredIndexOptions(
Indexes.ascending("_id"),
true
)
val collection = database.createCollection("<collection name>", clusteredIndexOptions)

Para obtener más información sobre colecciones con índice clusterizado e índices, consulta Colecciones con índice clusterizado en el manual del MongoDB Server.

El siguiente ejemplo crea un índice de texto en el campo de string especificado:

collection.createIndex(Indexes.text("<field name>"))

El siguiente ejemplo crea un índice 2dsphere en el campo especificado que contiene objetos GeoJSON:

collection.createIndex(Indexes.geo2dsphere("<GeoJSON object field>"))

Para obtener más información sobre los índices geoespaciales, consulta Índices geoespaciales en el manual del servidor de MongoDB.

El siguiente ejemplo crea un índice único en el campo especificado:

val indexOptions = IndexOptions().unique(true)
collection.createIndex(Indexes.ascending("<field name>"), indexOptions)

Para aprender más sobre los índices únicos, consulta Índices Únicos en el manual de MongoDB Server.

El siguiente ejemplo crea un índice comodín en la colección especificada:

collection.createIndex(Indexes.ascending("$**"))

Para obtener más información sobre los índices comodín, consulta Índices comodín en el manual del servidor MongoDB.

Puedes borrar índices utilizando el método dropIndex() en una colección, como se muestra en el siguiente ejemplo:

collection.dropIndex("<index name>")