Database

db={"Actor":[{"actor_id":1,"first_name":"john","last_name":"smith"},],"Film":[{"film_id":1,"title":"starwars"}],"Film_Actor":[{"_id":1,"film_id":1,"actor_id":1}]}

Query

db.Film.aggregate([{$lookup:{from:"Film_Actor",localField:"film_id",foreignField:"film_id",as:"join_flim"}},{"$unwind":"$join_flim"},{$lookup:{from:"Actor",localField:"join_flim.actor_id",foreignField:"actor_id",as:"join_flim.join_actor"}},{$group:{_id:"$_id",title:{$first:"$title"},join_flim:{$push:"$join_flim"}}},{"$project":{title:1,actornames:{$map:{input:"$join_flim",as:"f",in:{$map:{input:"$$f.join_actor",as:"a",in:{$concat:["$$a.first_name"," ","$$a.last_name"]}}}}}}},{"$project":{title:1,actornames:{"$reduce":{"input":"$actornames","initialValue":[],"in":{"$setUnion":["$$this","$$value"]}}}}}])

Result