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

MongoDB连接失败:首次连接报错及URI格式问题求助

MongoDB连接失败问题排查与解决请求

核心报错信息

MongoError: failed to connect to server [cluster0.mndwygw.mongodb.net:27017] on first connect [Error: getaddrinfo ENOTFOUND cluster0.mndwygw.mongodb.net
    at GetAddrInfoReqWrap.Onlookupall [as oncomplete] (node:dns:118:26) {
  name: 'MongoError'
}]: did not connect

使用的index.js代码

import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";
import dotenv from "dotenv";
import helmet from "helmet"
import morgan from "morgan"

// CONFIGURATIONS
dotenv.config()
const app = express();
app.use(express.json());
app.use(helmet());
app.use(helmet.crossOriginResourcePolicy({policy: "cross-origin"}));
app.use(morgan("common"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(cors());


// MONGOOSE SETUP

const PORT = process.env.PORT || 9000;
mongoose.Promise = global.Promise;

mongoose.connect(process.env.MONGO_URL, {
    // useNewUrlParser: true,
    // useUnifiedTopology: true,
    useMongoClient: true,
})
.then(async () => {
    app.listen(PORT, ()=> console.log(`Server Port: ${PORT}`));
})
.catch((error) => console.log(`${error}: did not connect`));

.env配置(已确认URL正确)

MONGO_URL ="mongodb+srv://dummyUser:<password>@cluster0.mndwygw.mongodb.net/?retryWrites=true&w=majority"

注:为实际密码占位符

已尝试的排查手段

  • 修改集群网络访问权限,添加不同IP地址
  • 清除笔记本DNS缓存
  • 确认网络连接稳定
  • 检查当前网络无防火墙或限制

异常情况与预期结果

  • 预期结果:控制台打印代码中设置的端口号,但未实现
  • 额外异常:MongoDB提供的连接URL以mongodb+srv://开头,但连接时控制台报错:

throw new Error('Invalid mongodb uri "' + str + '". Must begin with "mongodb://"');

现寻求解决该连接问题的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:18:19