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

Laravel Vuejs Basic Setup

In this article we will see how to setup vue with laravel. 1) Create a laravel project: laravel new laravue 2) In web.php create a temporary route:  Route :: get ( '/test' ,  function  () {      return   view ( 'welcome' ); }); So, when you will see the welcome page once you hit the  http://laravue.test/test  url. 2) In terminal run:  npm install 3) npm install vue (In package.json file you will see that vue dependency has been added successfully) 4) Now go to resources -> js -> app.js file. Here we will have to load the vue. write the following lines in app.js.  require ( './bootstrap' ); window . Vue  =  require ( 'vue' ); const   app  =  new   Vue ({      el :   '#app' }); (Here, vue js will execute and control anything that will be inside the app id. So, for our example  let's put the app id inside the welcome view). So, inside welcome.blade.php 's body...