Definición
cursor.hint(index)Importante
Método mongosh
Esta página documenta una
mongoshMétodo. Esta no es la documentación de un controlador específico del lenguaje, como Node.js.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Llame a este método en una consulta para anular la selección de índice predeterminada de MongoDB y Proceso de optimización de consultas. Utilice
db.collection.getIndexes()para devolver la lista de índices actuales de una colección.El método
cursor.hint()tiene el siguiente parámetro:ParameterTipoDescripciónindexstring o documento
El índice que MongoDB usará como referencia al realizar la consulta. Especifique el índice por su nombre o según su especificación.
También puede especificar
{ $natural : 1 }para forzar la consulta a realizar un escaneo de recopilación hacia adelante, o{ $natural : -1 }para un escaneo de recopilación hacia atrás.
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.
Comportamiento
Cuando existe un filtro de índice para la forma de la consulta, MongoDB ignora
hint()el.Si una consulta incluye una
$textexpresión, no puede utilizar para especificar qué índice utilizar para lahint()consulta.Si utiliza en
hint()un índice oculto o en un índice que no existe, la operación devuelve un error.En una colección de series de tiempo, solo se pueden especificar sugerencias utilizando el nombre del índice, no el patrón de clave del índice.
Las configuraciones de consulta tienen mayor precedencia que las sugerencias de índice. MongoDB ignora las sugerencias de índice que se pasan como campos de comando cuando una configuración de consulta coincidente contiene sugerencias de índice. Las sugerencias de índice no afectan la forma de la consulta. Para obtener más información sobre las sugerencias y las configuraciones de consulta, consulte Sintaxis de las configuraciones de consulta.
$natural
Utilice $natural junto con cursor.hint() para realizar un escaneo de colección para devolver los documentos en orden natural.
Para su uso, consulte Escaneos de recopilación de fuerza.
Ejemplos
Especificar un índice
El siguiente ejemplo devuelve todos los documentos de la colección denominada users utilizando el índice en el campo age.
db.users.find().hint( { age: 1 } )
También puede especificar el índice utilizando el nombre del índice:
db.users.find().hint( "age_1" )
Escaneos de recopilación de fuerza
Puede especificar { $natural : 1 } para forzar la consulta a realizar un escaneo de recopilación hacia adelante:
db.users.find().hint( { $natural : 1 } )
También puede especificar { $natural : -1 } para forzar la consulta a realizar un escaneo de recopilación inversa:
db.users.find().hint( { $natural : -1 } )