Home > OS >  How To Connect Mongodb with Node.js?
How To Connect Mongodb with Node.js?

Time:10-14

I am trying to connect mongodb with my signup.js, but it's not connecting. I am unable to find the problem. Help me to solve this.

code of signup.js:

const express = require('express')
const app = express()  
require("./db/mydb");

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(4000, () => {
  console.log(`App listening on port 4000`)
})

code of mydb.js:

const mongoose = require("mongoose");

mongoose.connect("mongodb://localhost:27017/mydata",{
    useNewUrlParser:true,
    useUnifiedTopology:true,
    useCreateIndex:true
}).then(()=>{
    console.log("connection successful")
}).catch((e)=>{
    console.log("Not connected")
})

Error:

App listening on port 4000
Not connected

CodePudding user response:

Here You Have simple example how to Connect MongoDB to Node using Express and Mongoose on localhost obviously:

server.js

const express = require("express");
const mongoose = require("mongoose");
const app = express();
const port = 3000;

app.get("/", (req, res) => {
  res.send("Express and Mongoose connection!");
});

// connect to db
mongoose
  .connect("mongodb://localhost:27017/test")
  .then(() => {
    // listen requests
    app.listen(port, () => {
      console.log(
        `Connected to DB & Server is listening at http://127.0.0.1:${port}`
      );
    });
  })
  .catch((error) => {
    console.log(error);
  });

And as we can read in mongoose doc =>

No More Deprecation Warning Options

useNewUrlParser, useUnifiedTopology, useFindAndModify, and useCreateIndex are no longer supported options. Mongoose 6 always behaves as if useNewUrlParser, useUnifiedTopology, and useCreateIndex are true, and useFindAndModify is false. Please remove these options from your code.

Tested with : "express": "^4.18.1", "mongoose": "^6.6.5"

  • Related