NodeJS连接MongoDB时出现MongoServerSelectionError: connect ECONNREFUSED ::1:27017如何解决?
MongoServerSelectionError: connect ECONNREFUSED ::1:27017 错误解析与解决办法
错误含义
MongoServerSelectionError: connect ECONNREFUSED ::1:27017 指NodeJS应用尝试连接本地IPv6地址(::1)的27017端口(MongoDB默认端口)时被拒绝,核心原因是MongoDB服务未启动,或应用连接配置无法正确访问MongoDB服务。
解决办法
1. 确认MongoDB服务状态
- Windows:打开服务管理器,找到
MongoDB Server,确保状态为“正在运行”;或执行命令:net start MongoDB - macOS/Linux:通过系统服务启动,比如:
也可直接执行MongoDB启动命令:sudo systemctl start mongodmongod
2. 修正连接字符串配置
从代码截图来看,调整连接字符串避免IPv6解析问题:
- 本地连接优先使用IPv4地址
127.0.0.1替代localhost(部分环境下localhost会优先解析为IPv6,但MongoDB默认可能仅监听IPv4),示例:mongoose.connect('mongodb://127.0.0.1:27017/your-db-name') - 确认端口号与MongoDB配置一致(默认27017,若修改过需同步调整)。
3. 验证端口监听状态
用命令检查27017端口是否被MongoDB占用:
- Windows:
netstat -ano | findstr :27017 - macOS/Linux:
无结果则说明MongoDB未启动或未监听该端口。lsof -i :27017
4. 检查防火墙设置
确保本地防火墙未阻止NodeJS访问27017端口,可暂时关闭防火墙测试连接是否恢复。
内容的提问来源于stack exchange,提问作者KIshan Nimavat
相关产品推荐
相关产品推荐

