Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Índices compuestos
Los índices compuestos almacenan información de dos o más campos de una colección de documentos, lo que permite realizar consultas en el primer campo o en cualquier campo de prefijo. Estos índices optimizan el rendimiento de las consultas que filtran varios campos simultáneamente o combinan el filtrado con las operaciones de clasificación. También son eficaces para las consultas de una sola condición en los campos indexados situados más a la izquierda. La base de datos aprovecha estas entradas del índice para localizar de forma eficiente los documentos coincidentes sin necesidad de digitalizar toda la colección.
Los índices de campos compuestos son beneficiosos cuando:
-
Debe filtrar varios campos simultáneamente.
-
Debe combinar el filtrado con las operaciones de clasificación.
Propiedades de índice compatibles
| Opción | 3.6 | 4.0 | 5.0 | 8.0 | Elastic Cluster |
|---|---|---|---|---|---|
| name | Sí | Sí | Sí | Sí | Sí |
| único | Sí | Sí | Sí | Sí | Sí |
| escaso * | Sí | Sí | Sí | Sí | Sí |
| parcial * FilterExpression | No | No | Sí | Sí | No |
* Las partialFilterExpression opciones sparse y no se pueden usar juntas en la misma definición de índice. Si intenta crear un índice con estas opciones, se producirá el siguiente error:
Error in specification: cannot mix partialFilterExpression and sparse options
Crear un índice compuesto
Utilice el createIndex() método para crear un índice compuesto. La sintaxis del método es: db.collection.createIndex(<keys>, <options>)
El keys parámetro es un documento JSON que especifica los campos y el orden de clasificación del índice:
{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }
Tenga en cuenta que solo un campo puede ser una matriz en un índice compuesto. Si intenta crear un índice compuesto en dos o más campos de matriz, se producirá el siguiente error:
multiple fields of compound index cannot be arrays
El options parámetro es un documento JSON que especifica las opciones del índice:
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression> }
Consulte Propiedades del índice para ver ejemplos de cómo crear índices compuestos.