Índices multiclave y comodín
Indexa arrays y campos que no conoces de antemano.
Indexa los valores de un array con un índice multiclave, o todos los campos de un subdocumento con un índice comodín.
Requisitos
- Un usuario con
dbAdminoreadWritesobre la base.
Indexar un array
Un índice sobre un campo que es un array tiene una entrada por elemento; no hace falta pedirlo:
JavaScript
db.productos.createIndex({ etiquetas: 1 });Indexar campos desconocidos
JavaScript
db.productos.createIndex({ "atributos.$**": 1 });Comprobar
El explain de db.productos.find({ etiquetas: "eco" }) muestra que la consulta usa el índice etiquetas_1 en
lugar de recorrer la colección.
Problemas frecuentes
- Un índice comodín no puede ser único. Si intentas hacerlo único con
collMod, responde el error 67.