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

Mongoose.connect无法连接本地MongoDB,Compass及Atlas连接正常问题求助

问题原因

报错核心信息connect ECONNREFUSED ::1:27017中,::1是IPv6协议的本地回环地址。你使用的Node.js v17+版本调整了DNS解析默认逻辑,会优先将localhost解析为IPv6地址,但本地MongoDB服务默认仅监听IPv4地址127.0.0.1的27017端口,因此触发连接拒绝。MongoDB Compass可以正常连接是因为它默认优先用IPv4协议解析localhost。

解决方案(任选其一即可)

  • 方案1(最快生效):修改数据库连接地址
    将环境变量DATABASE_LOCAL的值从mongodb://localhost:27017/seo-blog改为mongodb://127.0.0.1:27017/seo-blog,直接指定使用IPv4地址连接。
  • 方案2:添加mongoose连接参数
    保持连接地址不变,在连接配置中指定强制使用IPv4解析:
    const mongoose = require("mongoose");
    
    mongoose
      .connect(process.env.DATABASE_LOCAL, {
        family: 4
      })
      .then(() => console.log("Database connected!"));
    
  • 方案3:修改MongoDB监听配置
    打开MongoDB配置文件(brew安装的路径:Intel芯片Mac为/usr/local/etc/mongod.conf,Apple Silicon芯片Mac为/opt/homebrew/etc/mongod.conf),将bindIp配置项修改为127.0.0.1, ::1,保存后重启MongoDB服务即可让其同时支持IPv4和IPv6地址访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:15:08