Database

db={"matches":[{"_id":ObjectId("5eb93f8efd259cd7fbf49d55"),"date":"01/01/2020","players":{"home":ObjectId("5eb93f8efd259cd7fbf49d59"),"away":ObjectId("5eb93f8efd259cd7fbf49d60")}}],"players":[{"_id":ObjectId("5eb93f8efd259cd7fbf49d59"),"name":"Roger Federer","country":"Suiza"},{"_id":ObjectId("5eb93f8efd259cd7fbf49d60"),"name":"Rafa Nadal","country":"España"}]}

Query

db.matches.aggregate([{$lookup:{from:"players",let:{home:"$players.home",away:"$players.away"},pipeline:[{$match:{$expr:{$or:[{$eq:["$_id","$$home"]},{$eq:["$_id","$$away"]}]}}}],as:"data"}}])

Result