【发布时间】:2021-06-25 10:38:33
【问题描述】:
我正在将我的 MERN 应用程序部署到 Digital Ocean droplet(Ubuntu 20.04 服务器)。
我已经将我的 GitHub 存储库克隆到了 droplet,使用 npm install 安装了依赖项。接下来,当我使用npm start 启动服务器时,我收到以下错误:
这个错误本质上是说mongoose.connect() 的第一个参数是未定义的,必须是一个字符串。但是,在我的本地机器上一切正常,当我 console.log process.env.MONGO_URI 时,我得到了连接字符串。
服务器/配置/db.js
const mongoose = require("mongoose");
const colors = require("colors");
const dotenv = require("dotenv");
dotenv.config();
const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
});
console.log(`MongoDB connected: ${conn.connection.host}`.cyan.bold);
} catch (error) {
console.error(`Error: ${error.message}`.red.bold.underline);
process.exit(1);
}
};
2;
module.exports = connectDB;
为什么在我的 Digital Ocean droplet 中启动服务器时出现此错误?
【问题讨论】:
标签: mongodb mongoose deployment environment-variables digital-ocean