我一直在开发一个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
}
};
3条答案
按热度按时间ozxc1zmp1#
听起来很荒谬,重启你的路由器。或者更严格地说,你有一个DNS的问题,重启可以解决它。
我在家里停电后也遇到过类似的问题。当NAS恢复时,并不是所有的Docker容器都恢复了,包括我的pihole。DNS在其他地方看起来很好,所以我没有注意到,但MongoDB Atlas特别花了20秒才连接上。在启动Pihole Docker容器后,它现在在600ms内连接上,这比正常情况要近得多。
7ivaypg92#
我不知道这是否对你有帮助,但是你有没有试过将IP允许列表更改为所有,然后再试一次。我也遇到过同样的问题,我将我的网络IP分配到允许列表。在MongoDB Jmeter 板中将其更改为允许所有IP后,似乎解决了这个问题。
z9zf31ra3#
我也遇到了同样的问题,MongoDB Compass需要10多秒才能连接,突然我所有的测试开始失败,在本地开发服务器中热重新加载需要10多秒。
我最近换了一台新的MacBook Pro M1设备,我以前的笔记本电脑几乎是瞬间连接的。
最终我发现我的网络设置中缺少了
8.8.8.8
。