仅能通过Compass和MongoDB Shell连接,VSCode扩展及Mongoose连接被拒
MongoDB连接拒绝(ECONNREFUSED 127.0.0.1:27017)排查方案
确认MongoDB服务状态
打开管理员权限的命令提示符,执行net start MongoDB尝试启动服务。若提示服务未安装,说明安装过程未完成服务注册,需重新运行MongoDB安装程序并选择"Install MongoDB as a Service"选项;若服务已启动,执行net stop MongoDB再net start MongoDB强制重启服务。检查mongod启动参数
手动启动mongod时,务必指定正确的数据库路径:mongod --dbpath C:\data\db(默认要求data下存在db子目录,而非直接用C:\data)。同时确认未限制绑定IP,启动时可显式添加--bind_ip 127.0.0.1参数,确保服务仅监听本地地址。验证端口占用情况
执行netstat -ano | findstr :27017检查27017端口是否被其他进程占用。若存在占用,记录对应PID,通过任务管理器结束该进程后重启MongoDB。核对连接字符串配置
VSCode扩展和Mongoose的连接字符串需保持为mongodb://127.0.0.1:27017或mongodb://localhost:27017,避免错误的IP、端口或多余参数。Mongoose示例代码:const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/yourDatabaseName') .then(() => console.log('数据库连接成功')) .catch(err => console.error('连接失败:', err));排查防火墙限制
暂时关闭Windows防火墙测试连接是否恢复,若正常,需为MongoDB添加防火墙允许规则,放行27017端口的入站和出站请求。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

