Find the Employee based on month of date using $month operator under Employee_Detail collection.
Example:
[{"_id" : ObjectId("60179dd62381fc69d5f1c5a0"),"Emp_Name" : "Jatin","Emp_Age" : NumberInt(24),"Emp_Salary" : NumberInt(34000),"Emp_Grade" : "C","Emp_Joining_Date" : ISODate("2020-07-03T18:30:00.000+0000")}{"_id" : ObjectId("60179dd62381fc69d5f1c5a1"),"Emp_Name" : "Terens","Emp_Age" : NumberInt(27),"Emp_Salary" : NumberInt(34000),"Emp_Grade" : "D","Emp_Joining_Date" : ISODate("2020-04-03T18:30:00.000+0000")}{"_id" : ObjectId("60179dd62381fc69d5f1c5a2"),"Emp_Name" : "Manu","Emp_Age" : NumberInt(21),"Emp_Salary" : NumberInt(34000),"Emp_Grade" : "A","Emp_Joining_Date" : ISODate("2020-07-03T18:30:00.000+0000")}{"_id" : ObjectId("60179dd62381fc69d5f1c5a3"),"Emp_Name" : "Sagun","Emp_Age" : NumberInt(20),"Emp_Salary" : NumberInt(34000),"Emp_Grade" : "B","Emp_Joining_Date" : ISODate("2020-01-03T18:30:00.000+0000")}{"_id" : ObjectId("60179dd62381fc69d5f1c5a4"),"Emp_Name" : "Pankaj","Emp_Age" : NumberInt(60),"Emp_Salary" : NumberInt(34000),"Emp_Grade" : "D","Emp_Joining_Date" : ISODate("2020-02-03T18:30:00.000+0000")}]
Approach
Query: To find employee having joining month after 5.
db.Employee_Detail.aggregate([{$match:{"Emp_Salary":{$gte:25000}}},{$project:{"Emp_Name":1,"Emp_Age":1,"monthOfJoining":{"$month":"$Emp_Joining_Date"}}},{$match:{"monthOfJoining":{$gte:6}}}]);
[{"_id" : ObjectId("60179dd62381fc69d5f1c5a0"),"Emp_Name" : "Jatin","Emp_Age" : NumberInt(24),"monthOfJoining" : NumberInt(7)}{"_id" : ObjectId("60179dd62381fc69d5f1c5a2"),"Emp_Name" : "Manu","Emp_Age" : NumberInt(21),"monthOfJoining" : NumberInt(7)}]
No comments:
Post a Comment