mongoose MongoDB Atlas在热重新加载时连接速度非常慢

afdcj2ne  于 2022-11-13  发布在  Go
关注(0)|答案(3)|浏览(276)

我一直在开发一个React应用程序,它可以连接到MongoDB Atlas with Mongoose。使用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
  }
};
ozxc1zmp

ozxc1zmp1#

听起来很荒谬,重启你的路由器。或者更严格地说,你有一个DNS的问题,重启可以解决它。
我在家里停电后也遇到过类似的问题。当NAS恢复时,并不是所有的Docker容器都恢复了,包括我的pihole。DNS在其他地方看起来很好,所以我没有注意到,但MongoDB Atlas特别花了20秒才连接上。在启动Pihole Docker容器后,它现在在600ms内连接上,这比正常情况要近得多。

7ivaypg9

7ivaypg92#

我不知道这是否对你有帮助,但是你有没有试过将IP允许列表更改为所有,然后再试一次。我也遇到过同样的问题,我将我的网络IP分配到允许列表。在MongoDB Jmeter 板中将其更改为允许所有IP后,似乎解决了这个问题。

z9zf31ra

z9zf31ra3#

我也遇到了同样的问题,MongoDB Compass需要10多秒才能连接,突然我所有的测试开始失败,在本地开发服务器中热重新加载需要10多秒。
我最近换了一台新的MacBook Pro M1设备,我以前的笔记本电脑几乎是瞬间连接的。
最终我发现我的网络设置中缺少了8.8.8.8

相关问题