Error says:
Server running on port 5000
Error: MongooseError: The uri parameter to openUri() must be a string, got "undefined". Make sure the first parameter to mongoose.connect() or mongoose.crea teConnection() is a string.
[nodemon] app crashed - waiting for file changes before starting...
This is my server.js:
require ("dotenv").config({path: '../config.env' });
const express = require('express');
const connectDB = require('./config/db');
//Connect DB
connectDB();
const app = express();
app.use(express.json());
app.use('/api/auth', require('./routes/auth'));
const PORT = process.env.PORT || 5000;
const server = app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
process.on("unhandledRejection", (err, promise) => {
console.log(`Logged Error: ${err}`);
server.close(() => process.exit(1));
})
This is my db.js:
const mongoose = require('mongoose');
const connectDB = async() => {
await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: true
});
console.log("MongoDB connected");
};
module.exports = connectDB;
And this is my config.env file:
PORT=5000;
MONGO_URI=mongodb://localhost:27017/mernauth
Your code is not able to read the env file properly.
Try to import dotenv as:
require('dotenv').config()