【问题标题】:Node Environment is throwing a UnhandledPromiseRejectionWarning节点环境抛出 UnhandledPromiseRejectionWarning
【发布时间】:2020-03-24 03:22:54
【问题描述】:

我有一个节点后端正在尝试通过 mongoose 包建立与 mongodb 集群的连接。

使用 nodemon 时,我的 node.js/express 服务器运行,但它从未建立与 mongodb 的连接,几秒钟后,抛出 UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms

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

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);
});


【问题讨论】:

    标签: node.js reactjs mongodb express mongoose


    【解决方案1】:

    从 mongoDB 连接中删除 useUnifiedTopology: true

    这个问题已经讨论过here

    【讨论】:

      猜你喜欢
      • 2017-11-18
      • 2017-08-09
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      相关资源
      最近更新 更多