我面临 MongoDB 连接错误。我已经在 MongoDB 上创建了集群,并且已在 DB_LINK 的 .env 文件中添加了连接字符串。尽管如此,我仍然面临着下面给出的问题。
这些是我在运行 server.js 文件时遇到的错误
Server is listening on PORT undefined
error MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
at Connection.openUri (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\connection.js:695:11)
at f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\index.js:414:10
at f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\helpers\promiseOrCallback.js:41:5
at new Promise (<anonymous>)
at promiseOrCallback (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\helpers\promiseOrCallback.js:40:10)
at Mongoose._promiseOrCallback (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\index.js:1288:10)
at Mongoose.connect (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\node_modules\mongoose\lib\index.js:413:20)
at connectDB (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\backend\db\connectDB.js:7:10)
at Object.<anonymous> (f:\fyp related projects\MERN-Ecommerce-CricketWeapon-Store-master\backend\server.js:18:1)
at Module._compile (node:internal/modules/cjs/loader:1226:14)
这是我的 server.js 文件,位于后端目录中
const app = require("./app");
const dotenv = require("dotenv");
const connectDB = require("./db/connectDB")
const cloudinary = require("cloudinary");
// Handling Uncaught Execption => anything not defind Uncaught Execption
process.on("uncaughtException" , (err) =>{
console.log(`Error , ${err.message}`);
console.log(`Shutting down the server due to Uncaught Exception`);
process.exit(1);
})
//config =>
dotenv.config({path : "backend/config/config.env"})
// Connect With MongoDB
connectDB();
// conncet with cloudinary
cloudinary.config({
cloud_name: process.env.CLOUDINARY_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET,
});
const PORT = process.env.PORT || 5000;
const server = app.listen(PORT, () => {
console.log(`Server is listening on PORT ${process.env.PORT}`);
});
// Unhandled Promise Rejection => server issue
process.on("unhandledRejection" , (err) =>{
console.log(`Error : ${err.message}`);
console.log(`Shutting down the server due to Unhandled Promise Rejection`);
// if there any issue occures eg : broken host link eg : then return msg and server will close
server.close(() =>{
process.exit(1);
})
})
我的后端目录中有一个名为 config 的目录,其中存在我的 .env 文件
问题已经解决了。 .env 文件命名不正确