У меня есть приложение NestJS, использующее Mongoose, которое я пытался разрешить сборку, когда база данных не может быть подключена. В настоящее время поведение Mongoose по умолчанию - генерировать исключение и завершать сборку приложения. Я пробовал существующие решения для управления соединением, сдерживания ошибок, добавления обработчика ошибок и т. Д., Но ни одно из них не работает.
Вот ядро моей фабрики соединений:
useFactory: async ():mongoose => {
try {
const connection = await mongoose.connect('mongodb://localhost:27017/testdb');
const db = mongoose.connection;
db.on('error', function(error) {
console.log('*****************************************************');
console.error('*****DB Error Event******* Error in MongoDb connection: ' + error);
console.log('*****************************************************');
mongoose.disconnect();
});
db.on('connected', () => {
console.log('*****************************connected to mongodb');
});
db.on('disconnected', () => {
console.log('*****************************connection disconnected');
});
return connection;
}
catch(error) {
console.log('*****************************************************');
console.log('mongodb connection error: %s', error);
console.log('*****************************************************');
}
Перехват получает первое соединение, но повторная попытка соединения выводит приложение через несколько секунд. Я не могу запустить ни одно из событий подключения (включая хорошие). Любая помощь приветствуется!