连接时出错 MongoDB: `openUri()` 的 `uri` 参数必须是字符串

Getting an error while connecting MongoDB: The `uri` parameter to `openUri()` must be a string

我想使用 .env 文件连接我的数据库,但出现错误:

我尝试通过控制台记录我的 .env 变量,但我得到的是未定义的:

这是我的脚本:

server.js

require("dotenv").config({ path: "./config.env" });
const express = require("express");
const app = express();
const connectDB = require("./config/db");

// Connect DB
connectDB();

app.use(express.json());

app.use("/api/auth", require("./routes/auth"));

const PORT = process.env.PORT || 5000;

const server = app.listen(PORT, () =>
  console.log(`Sever running on port ${PORT}`)
);

console.log("```` DB NAME ````", process.env.DATABASE_CONNECTION);

process.on("unhandledRejection", (err, promise) => {
  console.log(`Logged Error: ${err.message}`);
  server.close(() => process.exit(1));
});

db.js

const mongoose = require("mongoose");

const connectDB = async () => {
  await mongoose.connect(process.env.DATABASE_CONNECTION, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true,
    useFindAndModify: true,
  });

  console.log("MongoDB Connected");
};

module.exports = connectDB;

config.env

PORT=5000

DATABASE_CONNECTION=mongodb://localhost:27017/node_auth

我检查了其他解决方案,但其中 none 有帮助。

这解决了我的问题:

require("dotenv").config({
  path:
    "C:/Users/.../auth/config.env",
});

基本上,写入文件的整个路径。