首页 > 解决方案 > Mongoose:使用传递选项“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'));

如果连接成功,则控制台将记录“连接成功”。但如果出现问题(例如:错误的用户名或密码),则不会发生任何事情。

标签: javascriptnode.jsmongodbnpmmongoose

解决方案


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

此处描述了这样做的基本原理。


推荐阅读