You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法连接本地MongoDB:mongosh报错但Compass可正常连接

问题解决:mongosh连接MongoDB出现ECONNREFUSED ::1:27017错误

问题背景

Mac系统下,通过mongod --dbpath=/Users/username/data/db启动MongoDB,MongoDB Compass可正常连接本地数据库,但使用brew安装的mongosh加载脚本(脚本内通过db = connect("mongodb://localhost:27017/?readPreference=primary&ssl=false&directConnection=true")连接)时,出现错误:MongoNetworkError: connect ECONNREFUSED ::1:27017。已尝试删除/tmp/mongodb-27017.sock、重启VSCode、重启电脑后重新启动mongod,问题仍存在。

问题原因

Mac系统中localhost默认同时映射到IPv4的127.0.0.1和IPv6的::1。你的mongod实例可能仅监听了IPv4地址,而mongosh或脚本中的连接请求优先使用了IPv6的::1,导致连接被拒绝;而MongoDB Compass可能默认使用IPv4的127.0.0.1连接,因此不受影响。

解决方案

方案1:修改脚本连接字符串

将脚本中的localhost替换为127.0.0.1,强制使用IPv4连接:

db = connect("mongodb://127.0.0.1:27017/?readPreference=primary&ssl=false&directConnection=true")

方案2:调整mongod启动参数

启动mongod时添加--bind_ip_all参数,让实例监听所有可用IP地址(包括IPv4和IPv6):

mongod --dbpath=/Users/username/data/db --bind_ip_all

方案3:验证mongod监听状态(可选)

运行以下命令查看mongod的监听地址,确认是否包含IPv6的::1:

lsof -i :27017

如果输出中只有127.0.0.1:27017,说明未监听IPv6,此时使用方案1或2即可解决问题。

内容的提问来源于stack exchange,提问作者iPhoneJavaDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:20:19