Definición
db.collection.hideIndex()Importante
Método mongosh
Esta página documenta un método
mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.js.Para el comando de base de datos, consulte la opción de colección
index.hiddenestablecida mediante elcollModdominio.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
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 del planificador, puede evaluar el impacto potencial de eliminarlo sin eliminarlo realmente. Si el impacto es negativo, puede mostrarlo en lugar de tener que volver a crearlo. Además, dado que los índices se mantienen completamente mientras están ocultos, están disponibles inmediatamente para su uso una vez que se muestran.
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
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
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
El método db.collection.hideIndex() toma los siguientes parámetros:
Parameter | Tipo | Descripción |
|---|---|---|
| string o documento | Especifica el índice que se ocultará del planificador de consultas. Puede especificarlo por su nombre o por el documento de especificación del índice. TipPuedes usar el método Para ocultar un índice de texto, especifique el nombre del índice. |
db.collection.hideIndex() es un mongosh contenedor de shell para el collMod comando.
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.
Modificaciones del índice Restablecer estadísticas
Ocultar un índice no oculto restablece $indexStats su.
No-op
Ocultar un índice ya oculto no afecta al índice. Sin embargo, la operación generará una entrada de registro de operaciones vacía.
Control de acceso
Si la implementación exige autenticación/autorización, debe tener el privilegio en la base de datos de la collMod colección.
El rol con funcionalidad incorporada dbAdmin proporciona los privilegios necesarios.
Ejemplo
El siguiente ejemplo oculta un índice existente.
Primero, use para crear un índice sin db.collection.createIndex() ocultar:
db.restaurants.createIndex( { borough: 1, ratings: 1 } );
Para ocultar el índice, puede especificar el documento de especificación de la clave de índice o el nombre del índice en el db.collection.hideIndex() método. A continuación, se especifica el nombre del índice:
db.restaurants.hideIndex( "borough_1_ratings_1" );
Para verificar, ejecute en db.collection.getIndexes() la restaurants colección:
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.