sql >> Base de Datos >  >> NoSQL >> MongoDB

Buena manera de manejar MongoError:el grupo de instancias del servidor fue destruido

Esto es lo que estamos usando:si la conexión falla, intenta volver a conectarse después de 5 segundos. Está escrito para mongoose, pero solo estamos volviendo a ejecutar la conexión cuando detectamos un error, lo que debería hacerse para cualquier marco.

// Connect to mongodb
    const connect = function () {
        const options = {server: {socketOptions: {keepAlive: 1}}};
        mongoose.connect(config.db, options);
    };
    connect();

    mongoose.connection.on('error', err => {
        let stack;
        if (err) {
            stack = err.stack;
        }
        winston.error('Mongo crashed with error', {err, stack});
    }); // eslint-disable-line no-console
    mongoose.connection.on('disconnected', () => {
        setTimeout(connect, 5000);
    });