Quando o servidor mongodb está inoperante, como detectar o erro ao executar a consulta mongoose

Estou usando o mongoose para conectar o node.js ao mongoDB, agora escrevi abaixo query

var trans = new transmodel({method: method, trans_id: r});
  trans.save(function(err) {
      if (err) {
            console.error("Razor_pay_webhook Error 4 err: " + err);
            res.write('statusCode: 200');
            res.end();
     } else {
        res.write('statusCode: 400');
        res.end();
     }
  });

Eu pensei que quando meu cluster mongodb estivesse inativo, eu irei 'err' durante a execução da consulta mongoose acima, mas quando eu corri acima da consulta enquanto meu cluster mongo estava inativo nada aconteceu (nenhum erro foi chamado). Alguém pode me dizercomo posso pegar o erro se meu servidor mongodb estiver inativo dentro da minha consulta. Também para reconectar novamente com meu cluster, configurei abaixo os parâmetros, mas meu servidor de nó não está tentando se reconectar novamente com meu servidor mongodb, não sei o que está acontecendo de errado.

var mongoose = require('mongoose');
    var config = require('./config/database.js');
    var DB_URL = config.db.url;

    mongoose.connection.on("connected", function(ref) {
        console.log("Connected to " + " DB!");
    });

    mongoose.connection.on("error", function(err) {
        console.error('Failed to connect to DB ' + ' on startup ', err);
        if (err) {
            return next(err);
        }
    });

    mongoose.connection.on('disconnected', function(err) {
        console.log('Mongoose default connection to DB :' + ' disconnected');
        if (err) {
            return next(err);
        }
    });

    var gracefulExit = function() { 
        mongoose.connection.close(function () {
            console.log('Mongoose default connection with DB :'  + ' is disconnected through app termination');
            process.exit(0);
        });
    }

    process.on('SIGINT', gracefulExit).on('SIGTERM', gracefulExit);

    exports.con_close = function () {
        console.log('Mongoose connection disconnected');
        mongoose.connection.close();
    }

    var options = {
        server: {
            socketOptions: {
                keepAlive: 1000,
                connectTimeoutMS: 30000
            }
        },
        replset: { 
            rs_name: 'replicaset',
            auto_reconnect:true,
            socketOptions: {
                keepAlive: 1000, // doubt about it
                connectTimeoutMS: 30000
            } 
        },
        user: 'root',
        pass: 'G3saGT2Y',
        auth: {
            authdb: 'admin'
        }
    }

    mongoose.connect(DB_URL, options, function(err) {
        console.log('ho rha hai');
        if (err) {
            console.log('error connection to mongo server!');
            console.log(err);
        }
    });

questionAnswers(1)

yourAnswerToTheQuestion