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

NodeJS连接MongoDB报ECONNREFUSED ::1:27017错误如何解决

问题根因

你使用的Node.js v17及以上版本默认优先将localhost解析为IPv6本地地址::1,但你本地MongoDB服务仅监听IPv4的127.0.0.1地址,所以连接请求被拒绝。你用Mongo Shell连接时指定的是127.0.0.1所以能正常连通,代码中写localhost就会触发解析到IPv6的问题。

解决方案

可任选以下任意一种方案修改后重启项目即可正常连接:

  • 方案一:修改database.js中的MongoDB连接地址,把mongodb://localhost:27017替换为mongodb://127.0.0.1:27017,修改后代码如下:
async function connectToDatabase() {
  const client = await MongoClient.connect('mongodb://127.0.0.1:27017');
  database = client.db('file-demo');
}
  • 方案二:保留localhost写法的前提下,在连接参数中指定优先使用IPv4解析:
async function connectToDatabase() {
  const client = await MongoClient.connect('mongodb://localhost:27017', {
    family: 4
  });
  database = client.db('file-demo');
}
  • 方案三:如果需要MongoDB支持IPv6连接,可修改MongoDB配置文件中的bindIp配置,追加::1地址后重启MongoDB服务即可。

内容的提问来源于stack exchange,提问作者Jahn E.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:45:05