javascript - Mongoose .env 返回未定义

标签 javascript node.js mongoose dotenv

我正在使用 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"

出于显而易见的原因,我删除了密码

最佳答案

您必须在应用程序的根目录中创建一个 .env 文件。 在 .env 文件中,您应该使用等号分隔键值。 例如:

secret=foo
DATABASE_URL=bar:pwd@localhost.com

正如文档所述: https://www.npmjs.com/package/dotenv

关于javascript - Mongoose .env 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60933587/

相关文章:

node.js - 检查 Mongoose 验证错误的最佳方法

Javascript for/in 遍历属性,而不是索引并返回字符串

javascript - Ajax 请求未加载新数据

javascript - Node REPL 遵循什么 Javascript 标准?

node.js - Node.js 中的“npm start”不起作用

node.js - Mongoose:获取最新记录,然后按另一个字段对它们进行排序

node.js - 如何使用 Mongoose 填充具有无限嵌套级别的文档

带有标签的 Javascript/HTML5 图像查看器

javascript - Swiper slider 鼠标滚动和循环内容

node.js - 调试 Node ,是什么让它保持运行?