I am trying to get mongoDB working alongside a phpMyAdmin database and i am getting an error message that i can't workout.
I would be a novice programmer so it could be a pretty basic error i have done somewhere. As far as i know i have installed all the correct dependencies and the error described comes up when i run nodemon server on my console.
const express = require("express")
const cors = require("cors")
const bodyParser = require("body-parser")
const app = express()
const mongoose = require('mongoose');
require('dotenv').config();
//server for the SQL database
const port = process.env.PORT || 5000
app.use(bodyParser.json())
app.use(cors())
app.use(bodyParser.urlencoded({extended: false}))
var Users = require('./routes/user.routes')
app.use('/users', Users)
app.listen(port, () => {
console.log("Server is running on port: " + port)
})
// server for MongoDB database
app.use(cors());
app.use(express.json());
const uri = process.env.ATLAS_URI;
//console.log(uri)
mongoose.createConnection(uri, { useNewUrlParser: true, useCreateIndex: true }
);
const connection = mongoose.createConnection();
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
const formsRouter = require('./routes/formDatabase.routes');
const adviceRouter = require('./routes/studentAdvice.routes');
app.use('/formDatabase.routes', formsRouter);
app.use('/studentAdvice.routes', adviceRouter);
app.listen(port, () => {
console.log(`Server is running on port: ${port}`);
});
[nodemon] restarting due to changes...
[nodemon] starting node server backend/server/server.js
(node:25800) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [Bus]. Use emitter.setMaxListeners() to increase limit
\softwaredevproject\cra-beacon\node_modules\mongoose\lib\connection.js:543
throw new MongooseError('The uri
parameter to openUri()
must be a ' +
^
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 new MongooseError (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\error\mongooseError.js:10:11)
at NativeConnection.Connection.openUri (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\connection.js:543:11)
at Mongoose.createConnection (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\index.js:278:17)
at Object. (***\softwaredevproject\cra-beacon\backend\server\server.js:33:10)
at Module._compile (internal/modules/cjs/loader.js:971:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1011:10)
at Module.load (internal/modules/cjs/loader.js:822:32)
at Function.Module._load (internal/modules/cjs/loader.js:730:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1051:12)
at internal/main/run_main_module.js:16:11 {
message: 'The uri
parameter to openUri()
must be a string, got "undefined". Make sure the first parameter to mongoose.connect()
or mongoose.createConnection()
is a str
ing.',
name: 'MongooseError'
}
[nodemon] app crashed - waiting for file changes before starting...