You are on page 1of 10

ESD-V Assignment-2

- 20-COMPC16-24_Vinit Sharma

1. Create Database Cluster on MongoDB Atlas Cloud


2. Create API (Web Services) using node.js (use express
framework)
API should have the following methods:
a. -Create (POST)
b. -Read (GET)
c. -Update (UPDATE)
d. -Delete (DELETE)

// dbConnectionModule.js

const mongoose = require("mongoose");

const conn_str =
"mongodb+srv://vikrant:vikrant@cluster0.ac8y3b6.mongodb.net/syno
tech?retryWrites=true&w=majority"
mongoose.connect(conn_str, { useNewUrlParser: true,
useUnifiedTopology: true })
.then(() => console.log("Connected successfully..."))
.catch((error) => console.log(error));

const userSchema = new mongoose.Schema({


name: String,
contact_number: String,
address: String,
salary: Number,
employee_id: Number,
role: String
})

const userObject = new mongoose.model("emps", userSchema);


exports.User = userObject;
// index.js

const express = require("express");


const port = 8080;
const connectionModule = require("./dbConnectionModule");
const User = connectionModule.User;

const app = express();


app.use(express.json());

var cors = require('cors');


app.use(cors());

app.get("/", (req, res) => {


res.send("Connected successfully...");
});

app.get("/user", async (req, res) => {


let data = await User.find().sort({ _id: -1 });
res.send(data);
});

app.get("/user/:id", async (req, res) => {


console.log(req.params.id);
let data = await User.find({ "_id": req.params.id });
res.send(data[0]);
});

app.post("/user", async (req, res) => {


console.log(req.body)
let u = await User(req.body);
let result = u.save();
res.send(req.body);
});

app.put("/user", async (req, res) => {


console.log(req.body);

//User.updateOne({where}, {set});
let u_data = await User.updateOne({ "_id": req.body._id }, {
"$set": {
"name": req.body.name,
"contact_number": req.body.contact_number,
"address": req.body.address,
"salary": req.body.salary,
"employee_id": req.body.employee_id,
"role": req.body.role
}
});

res.send(u_data);
});

app.delete("/user", async (req, res) => {

let d_data = await User.deleteOne({ "_id": req.body._id });


res.send(d_data);
});

app.listen(process.env.PORT || port, () => {


console.log(`Listening on port ${port}`);
});

You might also like