MERN项目中MongoDB连接失败问题求助
解决MongoDB连接失败(ECONNREFUSED 0.0.0.0:27017)的方案
1. 确认MongoDB服务是否运行
- Windows:按Win+R输入
services.msc打开服务管理器,找到MongoDB服务,检查状态是否为“正在运行”。未运行则右键启动,可设置为自动启动避免重复问题。 - macOS/Linux:终端执行
sudo systemctl start mongod启动服务,执行sudo systemctl status mongod查看运行状态。
2. 修正MongoDB连接地址
当前连接字符串用mongodb://0.0.0.0/my-mern-db,可尝试替换为兼容性更好的本地地址:
mongodb://localhost:27017/my-mern-dbmongodb://127.0.0.1:27017/my-mern-db
修改后的连接代码示例:
mongoose.connect('mongodb://localhost:27017/my-mern-db', { useNewUrlParser: true, useUnifiedTopology: true, }) .then(() => console.log('MongoDB connected')) .catch((err) => console.error(err));
3. 验证MongoDB端口是否为默认值
MongoDB默认端口是27017,若配置了自定义端口,需在连接字符串中指定。比如端口为27018,连接字符串应为mongodb://localhost:27018/my-mern-db。
可查看MongoDB配置文件确认端口:
- Linux/macOS:
/etc/mongod.conf,找到net.port项 - Windows:
C:\Program Files\MongoDB\Server\[版本号]\bin\mongod.cfg,找到net.port项
4. 检查防火墙/安全软件拦截
Windows防火墙或第三方安全软件可能阻止Node.js访问27017端口。临时关闭防火墙测试,若连接成功,需在防火墙上添加允许27017端口的入站/出站规则。
5. 远程连接场景的额外配置(若适用)
若MongoDB部署在远程服务器:
- 修改MongoDB配置文件的
net.bindIp为0.0.0.0(允许所有IP访问),重启服务 - 确保云服务器安全组开放27017端口
内容的提问来源于stack exchange,提问作者C Sharper
相关产品推荐
相关产品推荐

