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

Mongoose连接MongoDB报错ECONNREFUSED ::1:27017 新手求助

解决Mongoose连接MongoDB出现ECONNREFUSED ::1:27017错误

针对你遇到的MongooseServerSelectionError: connect ECONNREFUSED ::1:27017连接失败问题,在你已尝试重启服务、替换localhost为0.0.0.0/127.0.0.1的基础上,可尝试以下方案:

1. 强制使用IPv4连接

Node.js 18+版本默认优先解析localhost为IPv6地址(::1),而你的MongoDB可能未监听IPv6端口。可通过两种方式强制使用IPv4:

  • 修改连接字符串,添加family=4参数:
mongoose.connect("mongodb://localhost/db_c?family=4");
  • 或在连接选项中指定:
mongoose.connect("mongodb://localhost/db_c", { family: 4 });

2. 确认MongoDB服务状态及监听端口

  • Windows系统:打开services.msc,找到MongoDB服务,确认状态为「正在运行」;也可通过命令行启动服务:
net start MongoDB
  • 验证端口监听:执行以下命令检查27017端口是否被MongoDB占用:
# Windows
netstat -ano | findstr :27017
# Linux/macOS
lsof -i :27017

若端口被其他程序占用,需终止对应进程或修改MongoDB监听端口。

3. 修改MongoDB配置文件

找到MongoDB的配置文件(通常名为mongod.conf),修改bindIp配置项为IPv4地址,确保服务仅监听IPv4:

net:
  bindIp: 127.0.0.1
  port: 27017

修改后重启MongoDB服务生效。

4. 完善连接代码的错误处理

添加连接失败的捕获逻辑,便于排查更细节的问题:

const mongoose = require("mongoose");

async function connectDatabase() {
  try {
    await mongoose.connect("mongodb://localhost/db_c", { family: 4 });
    console.log("数据库连接成功");
  } catch (error) {
    console.error("连接失败详情:", error);
  }
}

connectDatabase();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 21:48:25