Пн goose .env возвращается неопределенный - PullRequest
0 голосов
/ 30 марта 2020

Я устанавливаю соединение с базой данных, используя стек 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"

Я удалил свой пароль по понятным причинам

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

Вы должны создать файл .env в каталоге root вашего приложения. в файле .env значение ключа должно быть разделено знаком равенства. Как пример:

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

Как указано в документации: https://www.npmjs.com/package/dotenv

0 голосов
/ 30 марта 2020

Вы не использовали шаблонные литералы для соединений mon goose.

Попробуйте:

Mongoose.connect(${process.env.DATABASE_URL}, { useNewUrlParser: true });

, чтобы получить фактическую .env переменную для вашего Javascript фрагмент.

...