错误:querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net

z0qdvdin  于 2023-04-20  发布在  Go
关注(0)|答案(6)|浏览(243)

我的nodejs应用程序与mongodb连接正常工作,突然出现了这个错误。然后我试图用mongo compass连接到mongodb,也出现了同样的错误。我找不到任何原因。

Error: querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net
[nodemon] app crashed - waiting for file changes before starting...

然后我将mongodb连接url更改为旧url,之后我得到了这个错误。

Error: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/
[nodemon] app crashed - waiting for file changes before starting...

我已经将我的ip列入白色名单,我的配置是正确的(我仔细检查)。0.0.0.0/0(包括您当前的IP地址)
这是什么原因呢?
谢谢大家。

1yjd4xko

1yjd4xko1#

querySrv ESERVFAIL是DNS错误。
这意味着您的本地机器无法从您的DNS解析器获得SRV记录_mongodb._tcp.cluster0.abcd0.mongodb.net的响应(我假设这不是您的真实的主机名,但它可以作为示例)
在本地计算机上,从命令行测试SRV查找,可能是以下命令之一:

nslookup -type=SRV _mongodb._tcp.cluster0.abcd0.mongodb.net
host -t SRV _mongodb._tcp.cluster0.abcd0.mongodb.net

如果失败了,请随意说DNS提供商的坏话。
然后转到Atlas UI并获取3.6之前的连接字符串。它将以mongodb://而不是mongodb+srv://开头。

5n0oy7gb

5n0oy7gb2#

乔的问题的识别是当场并帮助我解决.这是固定为我后,添加谷歌的DNS服务器(8.8.8.8)到我的电脑的Wifi设置.
在MacOS上的设置〉网络〉Wi-Fi(选择适当的网络)〉高级〉DNS然后添加DNS服务器8.8.8.8

i5desfxk

i5desfxk3#

我是一个windows10用户,我面临着完全相同的问题。我已经弄清楚这是一个DNS问题。以下过程对我有效

Check this!如果您不是Windows 10用户

h5qlskok

h5qlskok4#

停止服务器并再次运行您的服务器,它将解决问题。

tktrz96b

tktrz96b5#

嘿,伙计们!

所以我在下面遇到了这个奇怪的错误:(

那么,是什么原因导致了这个错误呢?

  • 确保你试图创建的数据库n你的mongoDB集合存在对我来说,这是“userDB”,这是我的问题!

mongoose.connect(
    `mongodb+srv://admin-eniola:${process.env.PASSWORD}@cluster0.velr6at.mongodb.net/userDB`
);
  • 确保你检查你使用的任何密码,它必须与你的用户密码而不是帐户密码相关联!
  • 检查你的密码存储在你的程序中的dotenv或secrets文件中,并确保它与你的用户帐户密码相匹配。

谢谢,我希望这个解决方案也能为你服务!

6ovsh4lw

6ovsh4lw6#

所以我偶然发现了同样的问题,但一个切换我的ISP,它为我修复了这个问题.这将是一个快速修复,正如前面提到的其他答案,这是一个DNS问题,切换我的ISP导致DNS服务器地址的变化,这就足够了.
如果错误更改为ETIMEOUT,则如@user3434785所述,8.8.8.8在DNS下添加www.example.com,如下所示:enter image description here

相关问题