Database
db={Applications:[{"_id":{"$oid":"6324c900ba6fad569a175778"},"Applicant":{"ID":ObjectId("6324c900ba6fad569a175777")},"Summer":{"ID":ObjectId("932567532532d278b614742a")},"Status":"Hired",},{"_id":{"$oid":"6424c900ba6fad569a175765"},"Applicant":{"ID":ObjectId("6324c900ba6fad569a175777")},"Summer":{"ID":{"$oid":"5624c900ba6fadd59a17577e"}},"Status":"Complete",}],Applicants:[{"_id":ObjectId("6324c900ba6fad569a175777"),"FirstName":"Ted","LastName":"Doe","CellPhoneNumber":"1234567890","HomePhoneNumber":null,"EmailAddress":"ted@somewhere.com","MailingAddress":{"Address1":"123 Some Rd","Address2":"","City":"Somewhere","State":"TX","PostalCode":"23334","Country":"United States"},}]}
Query
db.Applications.aggregate([{$match:{"Summer.ID":ObjectId("932567532532d278b614742a"),},},{$lookup:{from:"Applicants",localField:"Applicant.ID",foreignField:"_id",as:"Applicant",},},{$unwind:"$Applicant",},{$lookup:{from:"Applications",localField:"Applicant._id",foreignField:"Applicant.ID",as:"summers",pipeline:[{$match:{"Summer.ID":{$ne:ObjectId("932567532532d278b614742a")},Status:"Complete"}},{$count:"count"}]}},{$unwind:"$summers"},{$project:{_id:1,FirstName:1,LastName:1,Status:1,Phone:"$Applicant.CellPhoneNumber",Email:"$Applicant.EmailAddress",PreviousSummers:"$summers.count"},}])