连接时出错 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",
});
基本上,写入文件的整个路径。
我想使用 .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",
});
基本上,写入文件的整个路径。