Mongo/Mongoose连接报错:uri参数为undefined,请求协助解决
解决MongoDB连接时的"uri参数为undefined"错误
核心问题:环境变量名不匹配
你在.env文件里定义的变量是MONGO_URI,但在Server.js里调用的是process.env.MONGODB_URI——变量名多了个D,导致读取不到值,自然返回undefined。
修改Server.js里的代码,把变量名改成和.env一致:
dotenv.config(); mongoose .connect(process.env.MONGO_URI) // 这里改成MONGO_URI .then(() => { console.log("connected to db"); }) .catch((err) => { console.log(err.message); });
其他排查方向(如果改完还不行)
- 确认
dotenv已经安装:执行npm install dotenv或者yarn add dotenv - 检查
.env文件位置:必须放在项目根目录(和Server.js同级),如果不在根目录,需要指定路径:dotenv.config({ path: './path/to/your/.env' }); - 去掉
.env里变量值的引号:有些环境下带双引号会导致读取到的URI包含引号,引发错误,改成:MONGO_URI=mongodb+srv://username:password@cluster0.l94wepe.mongodb.net/?retryWrites=true&w=majority - 重启服务:修改
.env文件后需要重启Node.js服务,新的环境变量才会生效
内容的提问来源于stack exchange,提问作者JayTLo
相关产品推荐
相关产品推荐

