Find the Employee based on year of date using $year 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("2019-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("2019-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("2019-02-03T18:30:00.000+0000")}]
Approach
Query: To find employee having joining year 2020.
db.Employee_Detail.aggregate([{$match:{"Emp_Salary":{$gte:25000}}},{$project:{"Emp_Name":1,"Emp_Age":1,"yearOfJoining":{"$year":"$Emp_Joining_Date"}}},{$match:{"yearOfJoining":{$eq:2020}}}]);
Output:
[{"_id" : ObjectId("60179dd62381fc69d5f1c5a0"),"Emp_Name" : "Jatin","Emp_Age" : NumberInt(24),"yearOfJoining" : NumberInt(2020)}{"_id" : ObjectId("60179dd62381fc69d5f1c5a2"),"Emp_Name" : "Manu","Emp_Age" : NumberInt(21),"yearOfJoining" : NumberInt(2020)}]
No comments:
Post a Comment