Definición
cursor.tailable()Importante
Método mongosh
Esta página documenta a
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.
Marca el cursor como tailable manteniéndolo abierto incluso cuando el cliente agota todos los resultados.
Para usar solo contra una colección con tamaño fijo. El uso de
tailable()en una colección con tamaño fijo devuelve un error.cursor.tailable()utiliza la siguiente sintaxis:cursor.tailable( { awaitData : <boolean> } ) ~cursor.tailable()tiene el siguiente parámetro:ParameterTipoDescripciónawaitDatabooleano
opcional. Para uso con
DBQuery.Option.tailable. Establece el cursor para bloquear el hilo de query cuando no hay datos disponibles y esperar datos durante un tiempo establecido en lugar de devolver inmediatamente ningún dato. El cursor solo devuelve datos si el tiempo de espera expira.Por defecto, si
maxTimeMSestá establecido en el comando que creó el cursor, entonces el tiempo de espera paraawaitDataes el tiempo restante. De lo contrario, el tiempo de espera por defecto es de 1000 milisegundos.Puedes establecer un tiempo de espera al ejecutar
getMoreen un cursor conawaitDataactivado.Se establece por defecto en
false.Devuelve: El cursor al que está conectado ~cursor.tailable().
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
Un cursor con seguimiento realiza un escaneo de colecciones sobre una colección con tamaño fijo. Permanece abierto incluso después de llegar al final de la colección. Las aplicaciones pueden seguir iterando el cursor de seguimiento a medida que se insertan nuevos datos en la colección.
Si awaitData es true, cuando el cursor llega al final de la colección con tamaño fijo, mongod bloquea el subproceso de la query durante el intervalo de tiempo de espera y aguarda la llegada de nuevos datos. Cuando se insertan datos nuevos en la colección con tamaño fijo, mongod señala al subproceso bloqueado que se despierte y devuelva el siguiente lote al cliente.