错误:querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net
Posted
技术标签:
【中文标题】错误:querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net【英文标题】:Error: querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net 【发布时间】:2021-10-22 18:24:00 【问题描述】:我的 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...
我已经将我的 ips 列入白名单并且我的配置是正确的(我仔细检查了)。 0.0.0.0/0(包括您当前的 IP 地址)
这是什么原因?
谢谢。
【问题讨论】:
这能回答你的问题吗? How to fix 'Error: querySrv EREFUSED' when connecting to MongoDB Atlas? 【参考方案1】: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://
开头。
【讨论】:
这 100% 解决了我的问题以上是关于错误:querySrv ESERVFAIL _mongodb._tcp.cluster0.abcd0.mongodb.net的主要内容,如果未能解决你的问题,请参考以下文章
错误:QueryReqWrap.onresolve 处的 querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net [as oncom
MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG)20180502
Java企业微信开发_Exception_01_"errcode":60011,"errmsg":"no privilege to access/mo
Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 specification section 7.3.1 for mo