Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Lecturas reintentables

Las lecturas reintentables permiten a los controladores de MongoDB volver a intentar automáticamente ciertas operaciones de lectura una sola vez si encuentran ciertos errores de red o del servidor.

Versión mínima del controlador

Los controladores oficiales de MongoDB compatibles con el servidor MongoDB 6.0 y versiones posteriores admiten lecturas susceptibles de reintento.

Para obtener más información acerca de los drivers oficiales de MongoDB, consulte MongoDB Drivers.

Versión mínima del servidor
Los controladores solo pueden reintentar operaciones de lectura si están conectados a MongoDB Server 6.0 o posterior.

Los drivers oficiales de MongoDB compatibles con MongoDB Server 6.0 y versiones posteriores habilitan las lecturas con reintentos por defecto. Para desactivar explícitamente las lecturas que pueden volver a intentarse, especifique retryReads=false en la cadena de conexión para la implementación.

mongosh no admite lecturas reintentables.

Los controladores de MongoDB admiten la reintento de las siguientes operaciones de lectura. La lista hace referencia a una descripción genérica de cada método. Para ver la sintaxis específica y el uso, consulta la documentación del controlador para ese método.

Métodos
Descripciones
Collection.aggregate
Collection.count
Collection.countDocuments
Collection.distinct
Collection.estimatedDocumentCount
Collection.find
Database.aggregate

Para Collection.aggregate y Database.aggregate, los drivers solo pueden volver a intentar los pipeline de agregación que no incluyan etapas de guardado, como $out o $merge.

Operaciones de lectura de API CRUD

Collection.watch
Database.watch
MongoClient.watch

Operaciones Change Stream

MongoClient.listDatabases
Database.listCollections
Collection.listIndexes

Operaciones de enumeración

Operaciones GridFS respaldadas por Collection.find (por ejemplo, GridFSBucket.openDownloadStream)

Operaciones de descarga de archivos de GridFS

Los drivers de MongoDB pueden incluir soporte para otros tipos de operaciones, como los métodos asistentes o los métodos que envuelvan una operación de lectura reintentable. Consulta la documentación del controlador para determinar si un método admite explícitamente lecturas reprocesables.

Tip

Las siguientes operaciones no admiten lecturas reintentables:

  • db.collection.mapReduce()

  • getMore

  • Cualquier comando de lectura pasado a un asistente genérico de Database.runCommand, el cual es indiferente a los comandos de lectura o escritura.

Las lecturas reintentables de MongoDB solo hacen un intento de reintento. Esto ayuda a abordar los errores de red transitorios o elecciones de sets de réplicas, pero no los errores de red persistentes.

El controlador realiza la selección del servidor utilizando la preferencia de lectura original del comando de lectura antes de volver a intentar la operación de lectura. Si el driver no puede seleccionar un servidor para el intento de reintento usando la preferencia de lectura original, el driver devuelve el error original.

Los controladores esperan serverSelectionTimeoutMS milisegundos antes de realizar la selección del servidor. Las lecturas reintentables no abordan las instancias en las que no existen servidores elegibles después de haber esperado serverSelectionTimeoutMS>.

Volver

Escrituras reintentables

En esta página