Definición
cursor.hint(index)Importante
Método mongosh
Este es un método.
mongoshEsta no es la documentación deNode.jsni de otros métodos de controlador específicos del lenguaje de programación.En la mayoría de los casos, los métodos funcionan de la misma manera que los
mongoshheredados.mongoMétodos de shell. Sin embargo, algunos métodos heredados no están disponiblesmongoshen.Para obtener la documentación del shell heredado, consulte la documentación de la versión correspondiente de MongoDB
mongoServer:Para los controladores de la API de MongoDB, consultar la documentación específica del controlador de MongoDB para cada lenguaje.
Invoque este método en una consulta para anular la selección de índices predeterminada de MongoDB y el proceso de optimización de consultas. Use
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.No se puede utilizar en
hint()un índice oculto.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.
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 } )