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

Windows环境下Node.js连接本地MongoDB 6.0失败求助

解决Node.js连接本地MongoDB 6.0出现ECONNREFUSED ::1:27017的问题

问题根源

报错里的::1是IPv6的本地回环地址,你的Node应用解析localhost时优先使用了IPv6,但MongoDB默认可能只监听了IPv4的127.0.0.1,导致连接被拒绝。而MongoDB Compass能正常连接,是因为它默认优先用IPv4解析localhost。

快速解决方案

直接修改连接字符串,把localhost换成127.0.0.1,强制使用IPv4连接:

MongoClient.connect("mongodb://127.0.0.1:27017/ecommerce", {
  useNewUrlParser:true,useUnifiedTopology:true
},(err)=>{
  if(err){
    console.log("connection failed")
    console.log(err)
  }else{
    console.log("sucessfully connected")
  }
})

可选方案(启用MongoDB的IPv6监听)

如果你想保留localhost作为连接地址,可以修改MongoDB的配置文件:

  • 找到MongoDB安装目录下的mongod.cfg(通常在C:\Program Files\MongoDB\Server\6.0\bin)
  • 找到net配置段,修改或添加bindIp配置:
    net:
      port: 27017
      bindIp: 127.0.0.1,::1  # 同时监听IPv4和IPv6
    
    或者直接设置bindIpAll: true(允许所有IP访问,本地开发环境可用)
  • 重启MongoDB服务:打开命令提示符,执行net stop MongoDB,再执行net start MongoDB

代码冗余清理

你的代码里const mongoose = require('mongodb');这行完全没用,因为你使用的是MongoClient而非Mongoose框架,可以直接删除这行,减少不必要的依赖加载。

验证步骤

修改完成后,重新运行node index.js,如果控制台输出sucessfully connected,说明连接成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:32:59