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

db.colección.hideIndex() (método mongosh)

Importante

Método mongosh

Esta página documenta un método mongosh. No se trata de la documentación de comandos de base de datos ni de controladores específicos de lenguajes de programación, como 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 obtener información sobre los controladores de la API de MongoDB, consulte la documentación del controlador de MongoDB específica del lenguaje.

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.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente administrado 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 la compatibilidad de Atlas con 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.

db.collection.hideIndex(<index>)

El método db.collection.hideIndex() toma el siguiente parámetro:

Parameter
Tipo
Descripción

index

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 db.collection.getIndexes().

Para ocultar un índice de texto, especifica el nombre del índice.

El db.collection.hideIndex() es un envoltorio de shell mongosh para el comando collMod.

Para ocultar un índice, se debe tener el valor featureCompatibilityVersion de 5.0 o superior.

No puedes ocultar el índice _id.

Ocultar un índice sin ocultar restablece su $indexStats.

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.

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.

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 } );

Para ocultar el índice, puede especificar el documento de especificación de la clave del índice o el nombre del índice en el método db.collection.hideIndex(). A continuación se especifica el nombre del índice:

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.