Database

db={"users":[{"_id":"65d7e9a82bd4a4e423570962","fName":"Mike","lName":"Liss"}],"usercontactinfos":[{"_id":"65d7e9a82bd4a4e423570965","REF_UserID":"65d7e9a82bd4a4e423570962","REF_ContactInfoID":"65d7e9a72bd4a4e423570959"},{"_id":"65d7e9a92bd4a4e42357096a","REF_UserID":"65d7e9a82bd4a4e423570962","REF_ContactInfoID":"65d7e9a82bd4a4e42357095e"}],"contactinfos":[{"_id":"65d7e9a72bd4a4e423570959","value":"michael.liss@live.com","type":0},{"_id":"65d7e9a82bd4a4e42357095e","value":"5102071234","type":1}]}

Query

db.users.aggregate([{$lookup:{from:"usercontactinfos",localField:"_id",foreignField:"REF_UserID",as:"uci"}},{$unwind:{path:"$uci",preserveNullAndEmptyArrays:true}},{$lookup:{from:"contactinfos",localField:"uci.REF_ContactInfoID",foreignField:"_id",as:"ci"}},{$unwind:{path:"$ci",preserveNullAndEmptyArrays:true}},{$project:{_id:1,fName:1,lName:1,email:{$cond:{if:{$eq:["$ci.type",0]},then:"$ci.value",else:null}},phone:{$cond:{if:{$eq:["$ci.type",1]},then:"$ci.value",else:null}}}},{$group:{_id:"$_id",fName:{$first:"$fName"},lName:{$first:"$lName"},email:{$max:"$email"},phone:{$max:"$phone"}}}])

Result