MongooseError:“openUri()”的“uri”参数必须是一个字符串,得到“undefined”。确保 'mongoose.connect() 的第一个参数是字符串

MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect() is a string

提问人:sahil 提问时间:11/2/2023 最后编辑:parwatcodessahil 更新时间:11/2/2023 访问量:38

问:

const mongoose = require("mongoose");

const connectDatabase = async () => {
  await mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true });

  console.log("MongoDB Connection Successfully");
};

module.exports = connectDatabase;

我的文件config.env

MONGO_URI = mongodb+srv://username:<password>@cluster0.aq9vco8.mongodb.net/?retryWrites=true&w=majority
MongoDB 猫鼬 dotenv

评论

0赞 jQueeny 11/2/2023
在调用该函数之前,请执行 a 以确保环境变量已加载。我怀疑不是,这意味着您将需要共享更多代码来确定原因。connectDatabaseconsole.log('uri=', process.env.MONGO_URI)
0赞 Node Developer 11/3/2023
添加一个 if 条件,以便在连接到 DB 之前检查 env 是否存在mongo_uri值
0赞 sahil 11/3/2023
@jQueeny console.log('uri=', process.env.MONGO_URI) 显示 undefined
0赞 jQueeny 11/3/2023
您需要发布您的 app.js 或 index.js 或任何您的主文件,以便我可以看到您如何导入模块。您的文件是在根目录还是在子目录中?dotenv.env

答: 暂无答案