Node.js 节点环境正在引发未处理的PromisejectionWarning

Node.js 节点环境正在引发未处理的PromisejectionWarning,node.js,reactjs,mongodb,express,mongoose,Node.js,Reactjs,Mongodb,Express,Mongoose,我有一个节点后端,它正试图通过mongoose包建立到mongodb集群的连接 当使用nodemon my node.js/express server运行时,它从未建立到mongodb的连接,几秒钟后,抛出一个未处理的PromisejectionWarning:MongoTimeoutError:服务器选择在30000毫秒后超时 我真的不知道如何解决这个问题,显然我在逻辑上没有处理拒绝承诺的问题,有人能帮我解决这个问题吗 const express = require("express");

我有一个节点后端,它正试图通过mongoose包建立到mongodb集群的连接

当使用nodemon my node.js/express server运行时,它从未建立到mongodb的连接,几秒钟后,抛出一个未处理的PromisejectionWarning:MongoTimeoutError:服务器选择在30000毫秒后超时

我真的不知道如何解决这个问题,显然我在逻辑上没有处理拒绝承诺的问题,有人能帮我解决这个问题吗

const express = require("express");
// const bodyParser = require("body-parser");
const cors = require("cors");
const mongoose = require("mongoose");

require("dotenv").config();

const app = express();
const port = 5000;

//cors middleware
app.use(cors);
app.use(express.json());

const uri = process.env.ATLAS_URI;
//useNewUrlParser parsing mongodb string
mongoose.connect(uri, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useCreateIndex: true
});
mongoose.Promise = global.Promise;
const connection = mongoose.connection;
connection.once("open", () => {
  console.log("MONGODB connection established");
});

const exereciseRouter = require("./routes/exercises");
const usersRouter = require("./routes/users");

app.use("/exercises", exereciseRouter);
app.use("/users", usersRouter);

app.listen(port, () => {
  console.log("server listening on", port);
});



从mongoDB连接中删除
useUnifiedTopology:true

这个问题已经讨论过了