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 consulta para devolver resultados directamente desde un índice, consulte la sección Consultas cubiertas en el manual del servidor 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.

Dado que MongoDB admite esquemas dinámicos, las aplicaciones pueden realizar consultas sobre campos cuyos nombres no se conocen de antemano o son arbitrarios. Losíndices comodín ayudan a gestionar estas consultas, pero no están diseñados para reemplazar la planificación de índices basada en la carga de trabajo.

Para obtener más información sobre cómo diseñar su modelo de datos y elegir los índices adecuados para su aplicación, consulte la documentación del servidor sobre estrategias de indexación y la sección "Crear índices para admitir sus 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 de esta página utilizan las colecciones sample_mflix.movies y sample_mflix.theaters de los conjuntos de datos de ejemplo de Atlas. Para aprender a crear una implementación gratuita de MongoDB y cargar los conjuntos de datos de ejemplo, consulte la sección «Primeros pasos con el controlador de sincronización de Kotlin».

Para obtener más información sobre los diferentes tipos de índices, consulte la sección Tipos de índices en el manual del servidor MongoDB.

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

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

Para obtener más información sobre los índices de campo único, consulte la sección "Índices de campo único" en el manual del servidor MongoDB.

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

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

Para obtener más información sobre los índices compuestos, consulte la sección Índices compuestos en el manual del servidor MongoDB.

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 obtener más información sobre los índices de clave múltiple, consulte la sección Índices de clave múltiple en el manual del servidor MongoDB.

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 las colecciones agrupadas y los índices, consulte la sección "Colecciones agrupadas" en el manual del servidor MongoDB.

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, consulte la sección Índices geoespaciales en el manual del servidor 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 obtener más información sobre los índices únicos, consulte la sección Índices únicos en el manual del servidor MongoDB.

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, consulte la sección Í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>")