From 2cd7d4d0add2c6684bd7f13e60daf0ac5b023b8c Mon Sep 17 00:00:00 2001 From: geeknk Date: Thu, 26 Oct 2023 16:39:04 +0530 Subject: [PATCH 1/2] task2 completed --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file From 03fe094fb6468fad0b069c0c396b49e06029c8d6 Mon Sep 17 00:00:00 2001 From: geeknk Date: Thu, 26 Oct 2023 16:42:19 +0530 Subject: [PATCH 2/2] pushing after ignored --- task2.js | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 task2.js diff --git a/task2.js b/task2.js new file mode 100644 index 0000000..95cc21c --- /dev/null +++ b/task2.js @@ -0,0 +1,61 @@ +const express = require('express'); +const dbConnect = require('./mongodb'); +const mongodb = require('mongodb') +const app = express(); + +function getAge(birth) { + let today = new Date(); + let curr_date = today.getDate(); + let curr_month = today.getMonth() + 1; + let curr_year = today.getFullYear(); + + let pieces = birth.split('-'); + let birth_date = pieces[2]; + let birth_month = pieces[1]; + let birth_year = pieces[0]; + + if (curr_month == birth_month && curr_date >= birth_date) return parseInt(curr_year-birth_year); + if (curr_month == birth_month && curr_date < birth_date) return parseInt(curr_year-birth_year-1); + if (curr_month > birth_month) return parseInt(curr_year-birth_year); + if (curr_month < birth_month) return parseInt(curr_year-birth_year-1); + } + + +app.get('/age/average', async (req,res)=>{ + + let conn = await dbConnect(); + let data = await conn.collection('UsersProfile'); + let age=0; + + data = await data.find().toArray(); + + for (const i of data) { + + age = age + getAge(i.dob); + } + age = age/data.length; + console.log(age); + res.send("Average Age : "+ age.toString()); +}); + +app.get('/age/delete', async (req,res)=>{ + + let conn = await dbConnect(); + let userProfileData = await conn.collection('UsersProfile'); + let userData = await conn.collection('Users'); + let age=0; + + let data = await userProfileData.find().toArray(); + + for (const i of data) { + + age = getAge(i.dob); + if(age>25){ + let a = await userProfileData.deleteOne({"_id": new mongodb.ObjectId(i._id)}) + let b = await userData.deleteOne({"_id": i.user_id}) + console.log("user deleted"); + } + } +}); + +app.listen(5001); \ No newline at end of file