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

使用Node.js MongoClient无法连接MongoDB的问题求助

问题原因与解决方案

核心原因

错误里的::1是IPv6格式的localhost地址,你的MongoDB服务器大概率只绑定了IPv4的127.0.0.1,没有监听IPv6地址。而Node.js解析localhost时优先使用IPv6的::1,导致连接被拒绝;但MongoDB Compass、VS Code扩展这类工具可能默认用IPv4的127.0.0.1连接,所以能正常访问。

快速解决办法

方法1:修改连接URI(推荐,无需改MongoDB配置)

把代码里的localhost换成127.0.0.1,强制使用IPv4连接:

const { MongoClient } = require('mongodb');

// 替换localhost为127.0.0.1
const uri = 'mongodb://127.0.0.1:27017/';
const client = new MongoClient(uri);

client.connect((err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Connected to MongoDB');

  // ... continue with my code
});

方法2:修改MongoDB配置,同时监听IPv4和IPv6

如果需要保留localhost的写法,可以修改MongoDB的配置文件:

  • 找到MongoDB的配置文件(Windows通常在C:\Program Files\MongoDB\Server\对应版本号\bin,Linux/macOS可能在/etc/mongod.conf或/usr/local/etc/mongod.conf)
  • 找到net模块,修改bindIp的值为0.0.0.0,::,表示同时绑定所有IPv4和IPv6地址:
net:
  port: 27017
  bindIp: 0.0.0.0,::
  • 重启MongoDB服务,之后Node.js用localhost就能正常连接了

内容的提问来源于stack exchange,提问作者soullmond .F

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:07:13