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

无法连接MongoDB服务器:MongooseServerSelectionError问题咨询

解决MongooseServerSelectionError: connect ECONNREFUSED ::1:27017

问题重现

执行以下Mongoose连接代码时触发连接拒绝错误:

const mongoose = require('mongoose');
mongoose.connect("mongodb://localhost:27017/mydb").then(() => {
    console.log("Connection Successful");
}).catch((error) => {
    console.log("Something went wrong!", error);
});

错误信息:

Something went wrong! MongooseServerSelectionError: connect ECONNREFUSED ::1:27017

环境:Node.js v18.16.0、MongoDB 6.0、Windows 11

解决方案

1. 确认MongoDB服务正在运行

Windows系统中:

  • 按下Win + R输入services.msc打开服务管理器
  • 找到MongoDB服务,确认状态为"正在运行"
  • 若未运行,右键选择"启动";也可以用命令行启动:
    net start MongoDB
    

2. 改用IPv4地址连接

Node.js 18+版本默认优先解析localhost为IPv6地址(::1),但MongoDB默认可能仅监听IPv4的127.0.0.1。修改连接字符串:

mongoose.connect("mongodb://127.0.0.1:27017/mydb")

3. 配置MongoDB监听IPv6或所有地址

如果需要保留localhost连接,修改MongoDB配置文件(通常是mongod.cfg):

  • 找到net部分,修改bindIp为0.0.0.0,::1(允许所有IPv4和IPv6地址访问):
    net:
      port: 27017
      bindIp: 0.0.0.0,::1
    
  • 保存后重启MongoDB服务:
    net stop MongoDB
    net start MongoDB
    

4. 检查Windows防火墙设置

确认Windows防火墙未拦截27017端口:

  • 打开Windows Defender防火墙,进入"高级设置"
  • 添加入站规则,允许端口27017的TCP连接
  • 或临时关闭防火墙测试连接是否恢复(测试后记得重新开启)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:27:17