我正在尝试将mongodb集群用于我的Web应用程序。但不幸的是,我突然遇到了这个错误。早先它运行良好,但是从昨天开始,它抛出了这种类型的错误。
(节点:1748)UnhandledPromiseRejectionWarning:错误:连接ETIMEDOUT 34.196.128.177:27017
在TCPConnectWrap.afterConnect上[作为oncomplete](net.js:1145:16)
(使用node --trace-warnings ...
显示警告的创建位置)
(节点:1748)UnhandledPromiseRejectionWarning:未处理的承诺被拒绝。该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未经.catch()处理的诺言而引起的。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict
(请参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝ID:1)
(节点:1748)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将终止Node.js进程
退出代码为非零。
有时候,它在重启nodemon 7、8次之后就连接了,但是在下一次重启服务器之后再次显示相同的错误。
//mongoose connection setup using online cloud database
//In app i do use normal username and password
const uri = "mongodb+srv://<username>:<password>@cluster0.8csuv.mongodb.net/SHIELD?retryWrites=true&w=majority";
mongoose.connect(uri, { useUnifiedTopology: true, useNewUrlParser: true, useCreateIndex: true, });
const connection = mongoose.connection;
connection.once("open", () => {
console.log("mongo connected");
}).catch((err) => {
console.log("mongo not connected");
});
这是我的连接代码。请帮助我确定问题所在。