MongoDB Atlas 热重载时连接速度非常慢

msc*_*rtz 7 mongoose mongodb node.js reactjs mongodb-atlas

我一直在开发一个React 应用程序,该应用程序将使用 Mongoose 连接到 MongoDB Atlas。使用nodemon和webpack进行热重载,每次重新加载时,它都会在几毫秒内重新连接到Mongo。几个月来它一直运行良好,然后每次重新加载时突然开始需要20 秒以上的时间来连接- 这显着增加了开发时间。

我不知道是什么原因导致这种情况开始发生以及如何解决它。任何建议将不胜感激。

注意:我的IP地址已被列入白名单。

const db = "mongodb+srv://<username>:<password>@cluster0-omitted.mongodb.net/<dbname>?retryWrites=true&w=majority"

const connectDB = async () => {
  try {
    console.log('Attempting to connect to MongoDB...');
    await mongoose.connect(db, {
      useNewUrlParser: true,
      useCreateIndex: true,
      useFindAndModify: false,
      useUnifiedTopology: true,
    });
    console.log('MongoDB connected...');
  } catch (err) {
    console.log(err.message);
    process.exit(1); // Exit process with failure
  }
};
Run Code Online (Sandbox Code Playgroud)

小智 11

我遇到了同样的问题,MongoDB Compass 需要 10 多秒才能连接,突然我所有的测试开始失败,并且本地开发服务器中的热重载需要 10 多秒。

我最近换了一台新的 MacBook Pro M1 设备,而我以前的笔记本电脑几乎可以立即连接。

最终我发现8.8.8.8我的网络设置丢失了。

Mac 系统偏好设置 > 网络 > Wi-Fi > DNS


小智 0

我不知道这是否对您有帮助,但您是否尝试过将 IP 允许列表更改为全部,然后重试。我遇到了同样的问题,我已将我的网络 IP 分配给允许列表。将其更改为允许 MongoDB 仪表板中的所有 IP 后,似乎已经解决了问题。