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
相关产品推荐
相关产品推荐

