Joh*_*art 5 mongoose mongodb mongodb-atlas
我的 Nodejs 应用程序在 mongodb 连接下工作正常,突然出现了这个错误。然后我尝试使用 mongo compass 连接到 mongodb ,并且出现相同的错误。我找不到任何原因。
Error: querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net
[nodemon] app crashed - waiting for file changes before starting...
Run Code Online (Sandbox Code Playgroud)
然后我将 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...
Run Code Online (Sandbox Code Playgroud)
我已经将我的 ip 列入白名单,并且我的配置是正确的(我仔细检查过)。0.0.0.0/0(包括您当前的IP地址)
这是什么原因呢?
谢谢。
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
Run Code Online (Sandbox Code Playgroud)
如果失败,请随意说你的 DNS 提供商的坏话。
然后进入Atlas UI并获取3.6之前的连接字符串。它将以mongodb://
和 not开头mongodb+srv://
。
的故障queryTxt
是类似的故障,但带有 TXT 记录。
使用以下之一以相同的方式进行测试:
nslookup -type=TXT cluster0.abcd0.mongodb.net
host -t TXT cluster0.abcd0.mongodb.net
Run Code Online (Sandbox Code Playgroud)
如果这些失败,解决方案是相同的:使用 3.6 之前的连接字符串。
归档时间: |
|
查看次数: |
15183 次 |
最近记录: |