Importante
Método mongosh
This page documents a mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js.
Para el comando de base de datos, consulta la colección index.hidden con la opción configurada utilizando el comando collMod.
Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Definición
db.collection.hideIndex()Oculta un índice existente del planificador de query. Un índice oculto para el planificador de query no se evalúa como parte de la selección del plan del query.
Al ocultar un índice al planificador, puede evaluar el posible impacto de eliminar un índice sin realmente eliminarlo. Si el impacto es negativo, puedes desocultar el índice en lugar de tener que recrear un índice descartado. Y como los índices se mantienen completamente mientras están ocultos, los índices están disponibles para su uso inmediatamente una vez que se desocultan.
Para más detalles, consulte índices ocultos.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
db.collection.hideIndex(<index>)
Parámetros
The db.collection.hideIndex() method takes the following parameter:
Parameter | Tipo | Descripción |
|---|---|---|
| string o documento | Especifica el índice que se va a ocultar al planificador de query. Puedes especificar el índice por el nombre del índice o por el documento de especificación del índice. Para encontrar el nombre del índice o el documento de especificación de índice, puedes usar el método Para ocultar un índice de texto, especifica el nombre del índice. |
The db.collection.hideIndex() is a mongosh shell wrapper for the collMod command.
Comportamiento
Compatibilidad de características entre versiones
Para ocultar un índice, se debe tener el valor featureCompatibilityVersion de 5.0 o superior.
Restricciones
No puedes ocultar el índice _id.
Restablecimiento de estadísticas de modificaciones de índice
Ocultar un índice sin ocultar restablece su $indexStats.
No-op
Ocultar un índice ya oculto no tiene ningún efecto en el índice. Sin embargo, la operación seguirá generando un registro de oplog vacío.
Control de acceso
Si la implementación aplica autenticación/autorización, debe tener el privilegio collMod en la base de datos de la colección.
El rol con funcionalidad incorporada dbAdmin proporciona los privilegios necesarios.
Ejemplo
El siguiente ejemplo oculta un índice existente.
Primero, usa db.collection.createIndex() para crear un índice sin ocultar:
db.restaurants.createIndex( { borough: 1, ratings: 1 } );
To hide the index, you can specify either the index key specification document or the index name to the db.collection.hideIndex() method. The following specifies the index name:
db.restaurants.hideIndex( "borough_1_ratings_1" );
Para verificar, ejecute db.collection.getIndexes() en la colección restaurants:
db.restaurants.getIndexes();
La operación devuelve la siguiente información:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "borough" : 1, "ratings" : 1 }, "name" : "borough_1_ratings_1", "hidden" : true } ]
La opción de índice hidden solo se devuelve si el valor es true.