javascript - 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'));
如果连接成功,则控制台将记录“连接成功”。但如果出现问题(例如:错误的用户名或密码),则不会发生任何事情。
解决方案
通常,您需要执行操作才能收到错误。仅仅创建一个客户端是不够的,因为客户端在后台连接到部署。尝试发送{ping:1}
或{ismaster:1}
。
此处描述了这样做的基本原理。
推荐阅读
- android - 无法将图像保存到图库
- java - 用 Jsoup 替换一些 HTML 属性而不改变其余的输入
- php - 已启用 HTTP2,但网站由 HTTP1 提供服务
- javascript - Angular 日期管道,以及 Momentjs 的简单计时器
- python - 在cupy中使用元素内核对条目求和的问题
- c# - 如何从数据库加载 html 并显示项目本地存储的图像
- r - 通过 R DBI 包连接到 MS SQL Server 的问题
- c++ - `std::function` 和之前推导出的模板参数替换失败 - 为什么?
- angular - 是否有将电子 6 数据发送到角度 8 组件的功能?
- serverless - 无服务器部署到另一个 AWS 账户,而不是经过身份验证的账户