Итак, вы хотите, если соединение с Монго не удается это не должно вывести приложение из строя.
Вы можете просто обработать обратный вызов error
и делать все, что захотите.
в моем случае я подключаю БД, если она не работает.
как показано ниже:
var mongoose = require('mongoose');
var connection = mongoose.connection;
connection
.on('error', function (err) {
console.log("Error in MongoDB Connection");
console.error(err);
})
.on('disconnected', reConnect)
.once('open', listen);
connection.on('reconnected', function () {
console.log('MongoDB reconnected!');
});
function connect() {
const connection = mongoose.connect(<mongo Uri here >, <connection options>,(err)=>{
reConnect();
});
return connection;
}
function reConnect() {
if (mongoose.connection.readyState == 0) {
console.log(mongoose.connection.readyState);
//you can just try to connect here now.
// connect();
}
else {
console.log("I am already Connected");
}
}
connect();
module.exports = mongoose;
поэтому я использовал mongoose
здесь, вы можете следовать тому, как я обработал ошибку.
Mongoclient Docs Я видел, он также поддерживает обратный вызов. так что вы, вероятно, можете обработать ошибку таким же образом. хотя свойства типа .connection
и все они могут не совпадать.