MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Bonne façon de gérer MongoError :le pool d'instances de serveur a été détruit

C'est ce que nous utilisons - si la connexion échoue, il essaie de se reconnecter après 5 secondes. Il est écrit pour la mangouste, mais nous ne faisons que relancer la connexion lors de la détection d'une erreur, ce qui devrait être fait pour n'importe quel framework.

// 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);
    });