无法在本地将Node.js连接至MongoDB的问题求助
MongoDB连接错误:connect ECONNREFUSED ::1:27017 解决方案
错误信息(中文翻译)
$ node app.js MongoServerSelectionError: 连接被拒绝 ::1:27017 at Timeout._onTimeout (C:\Users\Dahmie Nahty\Desktop\NativeDriverProject\node_modules\mongodb\lib\sdam\topology.js:293:38) at listOnTimeout (node:internal/timers:564:17) at process.processTimers (node:internal/timers:507:7) { reason: TopologyDescription { type: 'Unknown', servers: Map(1) { 'localhost:27017' => [ServerDescription] }, stale: false, compatible: true, heartbeatFrequencyMS: 10000, localThresholdMS: 15, setName: null, maxElectionId: null, maxSetVersion: null, commonWireVersion: 0, logicalSessionTimeoutMinutes: null }, code: undefined, [Symbol(errorLabels)]: Set(0) {} }
解决步骤
- 检查MongoDB服务状态
打开命令行工具,执行对应命令确认服务是否启动:- Windows:
net start MongoDB(启动服务),sc query MongoDB(查看状态) - Mac:
brew services start mongodb-community(Homebrew安装版本) - Linux:
sudo systemctl start mongod(启动服务),sudo systemctl status mongod(查看状态)
- Windows:
- 替换连接地址为IPv4格式
部分系统中localhost会优先解析为IPv6地址(::1),但MongoDB默认可能仅监听IPv4。把app.js里的连接字符串从mongodb://localhost:27017改成mongodb://127.0.0.1:27017 - 排查端口占用情况
执行命令检查27017端口是否被其他程序占用:- Windows:
netstat -ano | findstr :27017 - Mac/Linux:
lsof -i :27017
若端口被占用,关闭对应进程或修改MongoDB监听端口
- Windows:
- 核对MongoDB配置文件
打开配置文件(通常为mongod.conf),确认net.bindIp设置为127.0.0.1或0.0.0.0(允许所有IP访问),修改后重启MongoDB服务
内容的提问来源于stack exchange,提问作者Kareem Victor
相关产品推荐
相关产品推荐

