我正在使用MEVN堆栈建立数据库连接,但出现以下错误;
The `uri` parameter to `openUri()` must be a string, got "undefined"
如果我尝试控制台日志process.env.DATABASE_URL,它只会返回未定义。我做错了什么,这是我的代码;
index.js
import dotenv from 'dotenv';
import Express from 'express';
import Mongoose from 'mongoose';
dotenv.config();
const app = Express();
Mongoose.connect(process.env.DATABASE_URL, { useNewUrlParser: true });
app.listen(3000, () => {
// console.log(process.env.DATABASE_URL);
console.log('server started on port 3000');
});
.env
DATABASE_URL="mongodb+srv://reece:<password>@mevn-tutorial-cluster-egjs6.mongodb.net/auth?retryWrites=true&w=majority"
我出于明显的原因删除了密码
答案 0 :(得分:2)
您必须在应用程序的根目录中创建一个.env文件。 在.env文件中,键值应用等号分隔。 例如:
secret=foo
DATABASE_URL=bar:pwd@localhost.com
答案 1 :(得分:1)
您还没有将模板文字用于猫鼬连接。
尝试一下:
Mongoose.connect(${process.env.DATABASE_URL}, { useNewUrlParser: true });
为您的Javascript代码段获取实际的.env
变量。