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

Mongoose连接报MongooseServerSelectionError: connect ECONNREFUSED ::1:27017无法解决

问题根因

报错中connect ECONNREFUSED ::1:27017明确指向连接失败的核心原因:Node.js 域名解析时会优先将localhost映射为IPv6地址::1,但默认安装的MongoDB服务仅监听IPv4的127.0.0.1地址,因此连接请求被拒绝。你本地shell可以正常操作MongoDB,是因为MongoDB自带的shell客户端默认优先使用IPv4协议解析localhost,才会出现两端连接状态不一致的情况。

解决方案(按生效效率排序)

  • 方案1:直接替换连接地址(最快生效)
    修改./other/DB/mong文件中的MongoDB连接串,将localhost替换为IPv4格式的本地回环地址127.0.0.1:
var mongoose = require("mongoose");

module.exports = async () => {
    await mongoose.connect('mongodb://127.0.0.1:27017/MX', {
        keepAlive: true,
        useNewUrlParser: true,
        useUnifiedTopology: true
    });
    return mongoose;
}
  • 方案2:修改MongoDB监听配置(保留localhost解析)
    打开MongoDB配置文件(Windows默认路径为C:\Program Files\MongoDB\Server\<你的版本号>\bin\mongod.cfg),找到net配置段下的bindIp配置,修改为同时监听IPv4和IPv6本地地址:
net:
  port: 27017
  bindIp: 127.0.0.1,::1

修改完成后重启MongoDB服务即可。

  • 方案3:强制Mongoose使用IPv4协议解析域名
    在连接配置中新增family: 4参数,强制Node.js用IPv4协议解析localhost:
await mongoose.connect('mongodb://localhost:27017/MX', {
    keepAlive: true,
    useNewUrlParser: true,
    useUnifiedTopology: true,
    family: 4
});

内容的提问来源于stack exchange,提问作者8adc894b-1571-4735-8319-85c01d

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:39:03