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

使用Mongoose连接MongoDB时出现querySrv ETIMEOUT错误

Mongoose连接MongoDB出现ETIMEOUT错误排查

问题代码

mongoose
  .connect(process.env.MONGODB_URL)
  .then(() => {
    console.log("connected to MongoDB!");
  })
  .catch((err) => {
    console.log(err);
  });

实际报错信息

[nodemon] restarting due to changes...
[nodemon] starting `node app.js`
server started by me
/subscribers
Error: querySrv ETIMEOUT _mongodb._tcp.subscribers-app.nrro0mj.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (node:internal/dns/promises:251:17) {
  errno: undefined,
  code: 'ETIMEOUT',
  syscall: 'querySrv',
  hostname: '_mongodb._tcp.subscribers-app.nrro0mj.mongodb.net'
}

排查与解决步骤

  • 检查网络连通性:当前网络可能无法解析MongoDB的SRV域名,尝试切换网络(如手机热点),或直接ping报错中的_mongodb._tcp.subscribers-app.nrro0mj.mongodb.net确认是否能正常解析。
  • 验证连接字符串:确保process.env.MONGODB_URL中的连接字符串完全正确,尤其是MongoDB Atlas提供的SRV格式字符串,仔细检查主机名、用户名、密码、数据库名是否存在拼写错误。
  • 切换至非SRV连接格式:若SRV解析持续失败,改用标准连接字符串(前缀为mongodb://而非mongodb+srv://),手动指定端口和集群节点地址,该格式可从MongoDB Atlas控制台直接获取。
  • 检查防火墙与代理:本地防火墙或代理可能拦截了DNS查询请求,可暂时关闭防火墙测试,或配置代理规则允许访问MongoDB相关端口(默认27017)。
  • 确认Atlas IP白名单:登录MongoDB Atlas控制台,将当前机器的公网IP加入IP白名单,测试阶段可临时设置为允许所有IP访问(生产环境需严格限制IP范围)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 10:20:41