猫鼬:使用pass选项'useUnifiedTopology: true'导致错误处理失败



我刚刚注意到,如果使用"useUnifiedTopology:true"选项,如果连接出现问题,mongoose将不再发出错误。例如:

mongoose.connect(DB, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true
}).then((con) => {
console.log("Connection successfully");
}).catch(err => console.log('Error'));

如果连接成功,则控制台将记录"连接成功"。但是,如果有什么问题(例如:错误的用户名或密码(,那么什么都不会发生。

通常,您需要执行一个操作来接收错误。仅仅创建一个客户端是不够的,因为客户端在后台连接到部署。尝试发送{ping:1}{ismaster:1}

其基本原理在这里进行了描述。

最新更新