Con mongoose, uno puede simplemente manejar reconexiones a través de opciones de conexión:
let dbOptions = { dbName: process.env.MONGO_DATABASE_NAME, autoReconnect: true, reconnectInterval: 1000, reconnectTries: 10, }; mongoose.connect(process.env.MONGO_URI, dbOptions); // Create connection object. const db = mongoose.connection;En el controlador MongoDB nativo (versión 4.4) no hay opciones de conexión similares disponibles: https://mongodb.github.io/node-mongodb-native/4.4/interfaces/MongoClientOptions.html
¿Cuál es la forma más fácil de manejar las reconexiones de la base de datos en caso de un error importante?
Dondequiera que haya obtenido el fragmento de conexión de mangosta, está desactualizado.
Las opciones autoReconnect y auto_reconnect existían en el controlador nativo de Nodejs antes de la versión 4.0, y mongoose simplemente transmitía estas opciones al controlador.
Esta es la documentación para el controlador 3.7 con "autoReconnect" todavía allí: http://mongodb.github.io/node-mongodb-native/3.7/api/global.html#MongoClientOptions y esta es la confirmación donde se eliminó: https://github.com/mongodb/node-mongodb-native/commit/e3cd9e684aea99be0430d856d6299e65258bb4c3#diff-f005e84d9066ef889099ec2bd907abf7900f76da67603e4130e1c92fac90533dL90533dL
La opción era "Verdadero" de forma predeterminada con una nota fuerte para no cambiar este valor a menos que sepa exactamente por qué necesita deshabilitarlo.
v4 introdujo muchos cambios en el controlador: refactorización a mecanografiado, cambios arquitectónicos, puede verlo desde la confirmación, a la derecha. Uno de los cambios afectó la lógica de conexión y la gestión de grupos. Ya no hay opción para deshabilitar la reconexión. Siempre se vuelve a conectar independientemente de cómo se conecte directamente o mediante mangosta.