我有一个使用Mongoose的NestJS应用程序,我一直试图在无法连接数据库时允许构建。目前,猫鼬的默认行为是引发异常并使应用程序构建失败。我已经尝试了现有的解决方案来管理连接,包含错误,附加错误处理程序等,但是似乎都没有用。
这是我的连接工厂的核心:
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('*****************************************************');
}
捕获使第一个连接失败,但几秒钟后连接重试将应用程序取出。我无法触发任何连接事件(包括良好的事件)。任何帮助表示赞赏!