MongoDB连接错误(ECONNREFUSED)排查与解决方法
解决Mongoose连接MongoDB出现ECONNREFUSED错误的方案
这个错误核心是程序无法连接到本地MongoDB服务,端口27017被拒绝访问,以下是具体解决步骤:
检查MongoDB服务状态
- Windows:按下Win+R输入
services.msc打开服务管理器,找到MongoDB服务,确认状态为“正在运行”,未启动则右键点击“启动”。 - macOS/Linux:终端执行
sudo systemctl start mongod(systemd系统)或sudo service mongod start,用mongod --version验证服务是否正常。
- Windows:按下Win+R输入
强制使用IPv4连接地址
错误显示连接的是IPv6地址::1,部分环境下MongoDB默认仅监听IPv4的127.0.0.1,修改Mongoose连接字符串:mongoose.connect('mongodb://127.0.0.1:27017/your-db-name');或显式指定IPv4:
mongoose.connect('mongodb://localhost:27017/your-db-name', { family: 4 // 强制使用IPv4协议 });排查端口27017占用情况
- Windows:终端执行
netstat -ano | findstr :27017,若有其他进程占用,通过任务管理器结束对应PID的进程。 - macOS/Linux:终端执行
lsof -i :27017,用kill -9 <PID>终止占用端口的进程。
- Windows:终端执行
检查MongoDB绑定地址配置
打开MongoDB配置文件(Linux通常在/etc/mongod.conf,Windows在C:\Program Files\MongoDB\Server\X.X\bin\mongod.cfg),找到net.bindIp项,确保设置为127.0.0.1或0.0.0.0(生产环境谨慎使用后者),修改后重启MongoDB服务。验证MongoDB本地连接可用性
终端执行mongosh命令,若能进入MongoDB Shell,说明服务本身正常,问题出在Mongoose配置;若连接失败,需重新排查MongoDB服务的启动与配置。
内容的提问来源于stack exchange,提问作者keyurpatel_0977
相关产品推荐
相关产品推荐

