I have created an application that stores attendance of employee in an organization. Each employee belonging to a different department. The challenge is, am trying to figure out how I can query MongoDB using mongoose such that I can obtain 7days worth of data of the total number that were present in a particular department.
I tried using the following, but am unable to figure out the query that will yield my desired result :
const d =new Date();
d.setDate(d.getDate()-7); ....//7days record
db.user.aggregate(["required query here"])... //record based on query
I haven't really got much experience in mongoose and Nodejs, just the basics.
Here is the stored info in my MongoDB database/collection
{ //extracted from my mongoDB database
"_id": "5d40c2a35a6da12cd8506fac",
"name": "Jonhny Fredicks",
"department": "Marketing", //department is first criteria
"origin": "N/Y",
"joinDate": "2019-07-30",
"__v": 0,
"attendances": {
// attendance is second criteria
"2019-07-30": "Present",// total number of "present" is the final goal.This would be done for all employee with the same "department" field.
"2019-07-31": "Sick",
"2019-08-01": "Present",
"2019-08-02": "Present",
"2019-08-06": "Present",
"2019-08-08": "Vacation",
"2019-08-10": "Present",
"2019-08-12": "Sick",
"2019-08-21": "Present"
}
I would really appreciate your suggestions: my goal is to be able to fetch those employees records, who were present in last 7 days, send it to the front-end where I will use that number to multiply their inputted hourly rate. hence compute their wages for the week.