Database

[{"Employee":[{"empeId":"e001","fName":"James","lName":"Bond","email":"jamesbond@hotmail.com","experience":["Database Design","SQL","Java"]},{"empeId":"e002","fName":"Harry","lName":"Potter","experience":["Data Warehouse","SQL","Spark Scala","Java Scripts"]}],"Project":[{"projectId":"p001","projectTitle":"Install MongoDB"},{"projectId":"p002","projectTitle":"Install Oracle"},{"projectId":"p003","projectTitle":"Install Hadoop"}],"EmployeeProject":[{"empeId":"e001","projectId":"p001","hoursWorked":4},{"empeId":"e001","projectId":"p003","hoursWorked":2},{"empeId":"e002","projectId":"p003","hoursWorked":5}]}]

Query

db.collection.aggregate([{"$match":{"Employee.experience":{$size:3}}},{"$addFields":{"Employee":{$filter:{input:{"$map":{"input":"$Employee","as":"e","in":{"$mergeObjects":["$$e",{expCount:{$size:"$$e.experience"}}]}}},"as":"ef","cond":{$eq:["$$ef.expCount",3]}}}}},{"$project":{"Employee.fName":1,"Employee.lName":1,"Employee.email":1,"_id":0}}])

Result