Database
db={"organisations":[{_id:"org1",name:"organization one"}],"users":[{_id:"user1",name:"user one",org_id:"org1"},{_id:"user2",name:"user two",org_id:"org1"}],"projects":[{_id:"proj1",name:"project one",user_id:"user1"},{_id:"proj2",name:"project two",user_id:"user2"}]}
Query
db.users.aggregate([{$match:{_id:"user1"}},{$project:{_id:0,org_id:1}},{$lookup:{from:"users",localField:"org_id",foreignField:"org_id",as:"users_of_org"}},{$lookup:{from:"projects",localField:"users_of_org._id",foreignField:"user_id",as:"projects"}},{$unset:["org_id","users_of_org"]},{$unwind:"$projects"},{$replaceWith:"$projects"}])