<!
DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>CRUD Operations </title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous">
<style media="screen">
h1{
text-align: center;
.container{
padding: 5% 10%;
margin: auto;
background-color: #B7CADB;
</style>
</head>
<body>
<h1>CRUD Operations mongodb</h1>
<div class="container">
<div class="container">
<h3>Insert Data</h3>
<form action="/insert" method="post">
<div class="form-group">
<label for="search">Enter Name</label>
<input type="text" name="name" id="word" class="form-control" value="">
</div>
<div class="form-group">
<label for="search">Enter Age </label>
<input type="text" name="age" id="word" class="form-control" value="">
</div>
<br>
<button type="submit" class="btn btn-lg btn-primary"onclick="createReq()">Submit</button>
</form>
</div>
<div class="container">
<h3>Read Data</h3>
<form action="/read" method="post">
<div class="form-group">
<label for="search">Enter Name</label>
<input type="text" name="name" id="word" class="form-control" value="">
</div>
<br>
<button type="submit" class="btn btn-lg btn-primary"onclick="createReq()">Submit</button>
</form>
</div>
<div class="container">
<h3>Update Data</h3>
<form action="/update" method="post">
<div class="form-group">
<label for="search">Enter Name</label>
<input type="text" name="name" id="word" class="form-control" value="">
</div>
<div class="form-group">
<label for="search">Enter Updated Name</label>
<input type="text" name="upname" id="word" class="form-control" value="">
</div>
<div class="form-group">
<label for="search">Enter Updated Age</label>
<input type="text" name="upage" id="word" class="form-control" value="">
</div>
<br>
<button type="submit" class="btn btn-lg btn-primary"onclick="createReq()">Submit</button>
</form>
</div>
<div class="container">
<h3>Delete Data</h3>
<form action="/delete" method="post">
<div class="form-group">
<label for="search">Enter Name</label>
<input type="text" name="name" id="word" class="form-control" value="">
</div>
<br>
<button type="submit" class="btn btn-lg btn-primary"onclick="createReq()">Submit</button>
</form>
</div>
</div>
</body>
</html>
Javascript :
const express = require("express");
const bodyParser = require("body-parser");
var MongoClient = require('mongodb').MongoClient;
const app = express();
app.use(bodyParser.urlencoded({
'extended': true
}));
var url = "mongodb://localhost:27017/mydb";
function createDB() {
let conn;
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
});
function createCollection(collectionName) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.createCollection(collectionName, function(err, res) {
if (err) throw err;
console.log("Collection created!");
db.close();
});
});
function insertData(data) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("person").insertOne(data, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close();
});
});
}
function readData(data, callback) {
let result;
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("person").findOne(data, function(err, res) {
if (err) {
throw err;
} else {
callback(res);
return res;
});
});
function updateData(id, newvalues) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("person").updateOne(id, newvalues, function(err, res) {
if (err) throw err;
console.log("1 document updated");
db.close();
});
});
// insertData({name:"ram",age:22});
// updateData({name:"ram"}, {$set:{age:21}});
function deleteData(myquery) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("person").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1 document deleted");
db.close();
});
});
// deleteData({name:"kumar"});
// function waitforData(data){
//
// ret
// }
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
app.post("/insert", (req, res) => {
const data = req.body;
// {
// name: "ram",
// age:"22"
// }
insertData(data);
res.redirect("/");
});
app.post("/read", (req, res) => {
const data = req.body;
console.log(data);
readData(data, (result) => {
res.send(` <h2> Name : ${result.name} <br/> Age: ${result.age} </h2>`);
});
})
app.post("/update", (req, res) => {
const data = req.body;
updateData({
name: data.name
}, {
$set: {
name: data.upname,
age: data.upage
});
res.redirect("/");
})
app.post("/delete", (req, res) => {
const data = req.body;
deleteData(data);
res.redirect("/");
});
app.listen(3000, () => {
console.log("Server Listening in port 3000");
})