Skip to main content

Connect Node Express and Mongodb

 In the root directory:


mkdir backend
cd backend

then type: npm init -y

npm install express cors mongodb dotenv

npm install -g nodemon

write the following line in package.json after "main":"index.js" :
"type":"module",

Now, create server.js file inside backend folder.

Write the following code in server.js file:

// starts here
import express from "express";
import cors from "cors"
import restaurants from "./api/restaurants.route.js"

const app = express();

app.use(cors());
app.use(express.json());

app.use("/api/v1/restaurants", restaurants);
app.use("*",(req,res) => res.status(404).json({error: "Not found!"}) );

export default app;

// ends here

create .env file and write:

RESTREVIEWS_DB_URI=mongodb+srv://ipritpritam:ipritpritam@cluster0.twcdr.mongodb.net/sample_restaurants?retryWrites=true&w=majority
RESTREVIEWS_NS=sample_restaurants
PORT=5000

then, create index.js in the backend folder and write the following:

// starts here

import app from "./server.js"
import mongodb from "mongodb"
import dotenv from "dotenv"

dotenv.config()
const MongoClient = mongodb.MongoClient

const port = process.env.PORT ||  8000

MongoClient.connect(
    process.env.RESTREVIEWS_DB_URI,
    {
        // poolSize: 50,// 50 people can connect at a time
        // wtimeout: 2500,
        maxPoolSize:50,
        wtimeoutMS:2500,
        // useNewUrlParse: true
    }
)
.catch(err => {
    console.error(err.stack);
    process.exit(1);
})
.then(async client => {
    app.listen(port, () => {
        console.log(`listening on port ${port}`);
    });
});

// ends here

create a api folder inside backend folder then, create a file called 'restaurants.route.js'.

Inside restaurants.route.js write the following lines of code:

// starts here
import express from "express"

const router = express.Router();

router.route("/").get((req,res) => res.send("Hello World"));

export default router;
// ends here

Then run: nodemon server
and see the url: http://localhost:5000/api/v1/restaurants

Comments

Popular posts from this blog