连接到 mongo atlas uri 时出现 Mongo 网络错误

Getting Mongo Network Error while connecting to mongo atlas uri

我正在使用 mongo Atlas uri 并收到 mongo 网络错误。有时有效,但有时会抛出错误。

Error: connect ETIMEDOUT 13.234.241.108:27017

Server started on port 5000
Error: connect ETIMEDOUT 13.234.241.108:27017
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
  name: 'MongoNetworkError'
}
something wrong with DB

mongoDb Uri

mongoose
  .connect(
    `mongodb+srv://pratham:<password>@cluster0.gxwve.mongodb.net/twitter-clone?retryWrites=true&w=majority`,
    {
      useNewUrlParser: true,
      useUnifiedTopology: true,
      useCreateIndex: true,
      useFindAndModify: false,
      keepAlive: true,
    }
  )
  .then(() => {
    console.log("DB Connected");
  })
  .catch((err) => {
    console.log(err);
    console.log("something wrong with DB");
  });

确保以下两点

  1. 确保 MongoDB 在指定的机器上是 运行
  2. 确保修改配置中的 bindIP 以接受来自其他 IP 的连接

我认为 MongoDB 服务器可能有问题。出现此错误是由于 Internet 连接较低。稍等片刻,程序照常运行。 此外,使用 Async 并在每次使用 MongoDB server

发出请求时等待
const connectDB = async () => {
    const conn = await mongoose.connect(`mongodb+srv://pratham:<password>
        @cluster0.gxwve.mongodb.net/twitter-clone?retryWrites=true&w=majority`, {
        useNewUrlParser: true,
        useCreateIndex: true,
        useFindAndModify: false,
        useUnifiedTopology: true
    }).then(() => {
        console.log("DB Connected");
    }).catch((err) => {
        console.log(err);
        console.log("something wrong with DB");
    });
};

// use as a function        
connectDB();