You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

连接MongoDB Atlas报querySrv ECONNREFUSED,4.0+Node.js驱动连接串失效?

问题原因分析

你遇到的querySrv ECONNREFUSED错误本质是mongodb+srv协议依赖的DNS SRV记录查询失败,和驱动本身版本无关,具体原因如下:

  • mongodb+srv格式的连接串需要先查询指定域名下的SRV记录,才能获取MongoDB Atlas集群的实际节点地址,才能继续建立连接;而你测试可用的旧版mongodb://连接串已经把所有集群节点地址直接写死在URI中,不需要做SRV查询,所以绕开了DNS层面的问题。
  • 结合你使用Arch Linux的环境,大概率是本地DNS解析服务的问题:Arch Linux默认带的systemd-resolved服务部分版本对SRV记录的处理存在兼容性bug,或者你当前使用的运营商DNS、公共DNS服务屏蔽了SRV记录的查询请求。
验证与解决方法
  • 先执行以下终端命令验证SRV查询是否正常:
dig _mongodb._tcp.cluster0.2sjva.mongodb.net SRV

如果命令返回空结果、报错,就可以确认是DNS解析的问题。

  • 可选择的解决方案:
    • 临时测试可以将系统DNS替换为支持SRV查询的公共DNS,比如8.8.8.8、1.1.1.1,修改后清空系统DNS缓存再运行代码测试。
    • 如果你用默认的systemd-resolved服务,可以尝试重启服务修复缓存异常:sudo systemctl restart systemd-resolved。
    • 不需要强制使用srv格式连接串,已经验证可用的旧版标准连接串功能完全一致,生产环境也可以正常使用。

内容的提问来源于stack exchange,提问作者ino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:06:06