Database

db={"movie":[{id:1,title:"ABC"}],"genre":[{id:1,name:"Action"}],"movieGenre":[{genreId:1,movieId:1}]}

Query

db.movie.aggregate([{$lookup:{from:"movieGenre",localField:"id",foreignField:"movieId",as:"movieGenres"}},{$lookup:{from:"genre",let:{genreIds:"$movieGenres.genreId"},pipeline:[{$match:{$and:[{$expr:{$in:["$id","$$genreIds"]}},{name:"Action"}]}}],as:"genreNames"}}])

Result