Grouping the Employee using $group 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-07-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-07-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-07-03T18:30:00.000+0000")}]
Approach
Query: To group employee based on one field.
db.Employee_Detail.aggregate([{"$group":{"_id":"$Emp_Grade","gradeWiseEmp":{"$push":{"Emp_Name":"$Emp_Name"}}}}]);
[{"_id": "D","gradeWiseEmp": [{"Emp_Name": "Terens"},{"Emp_Name": "Pankaj"}]},{"_id": "B","gradeWiseEmp": [{"Emp_Name": "Sagun"}]},{"_id": "C","gradeWiseEmp": [{"Emp_Name": "Jatin"}]},{"_id": "A","gradeWiseEmp": [{"Emp_Name": "Manu"}]}]
No comments:
Post a Comment