Database

db={"users":[{"_id":"a","email":"a@test.com",},{"_id":"b","email":"b@test.com",},{"_id":"c","email":"c@test.com",}],"friends":[{"userId":"a","otherUserId":"b"},{"userId":"a","otherUserId":"c"},],"emailsSent":[{"userId":"a","number":"25"},{"userId":"b","number":"3"},]}

Query

db.users.aggregate([{"$match":{"_id":"a"}},{"$lookup":{"from":"friends","localField":"_id","foreignField":"userId","as":"a_myfriends"}},{"$lookup":{"from":"emailsSent","localField":"a_myfriends.otherUserId","foreignField":"userId","as":"emailsent"}},{"$lookup":{"from":"users","localField":"a_myfriends.otherUserId","foreignField":"_id","as":"emailaddr"}}])

Result