我刚刚注意到,如果你使用'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}
.
其理由如下: 此处.