【发布时间】:2022-11-16 22:44:58
【问题描述】:
我知道还有其他类似的问题,但对我没有任何帮助。
当我在本地托管时,它可以工作,但我收到 Railway 的错误消息。完整的错误信息是:MongooseError: The 'uri' parameter to 'openUri() must be a string, got "undefined". Make sure the first parameter to 'mongoose.connect()' or 'mongoose.createConnection()' is a string.
我的 URI 字符串在 .env 文件中为 MONGO_URI="mongodb+srv://<user>:<password>@cluster0.jju88.mongodb.net/<collection>?retryWrites=true&w=majority"。 .env 文件位于 config 文件夹中,但它说在其他地方将其放在根目录中。所以我改变了它,但它没有帮助。
我在顶部的 server.js 文件中尝试了 require("dotenv").config({ path: ".env" }) 和 require("dotenv").config()。在我把.env改成root之前,是require("dotenv").config({ path: "./config/.env" })
数据库配置如下所示:
const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: false,
});
console.log(`MongoDB Connected: ${conn.connection.host}`);
} catch (err) {
console.error(err);
process.exit(1);
}
};
我有 dotenv 作为依赖项安装。
我错过了什么?
【问题讨论】: