Database
db={"Projects":[{"_id":"A",},{"_id":"B",},{"_id":"C"}],"Episodes":[{"_id":"A/Episode01","project":"A","name":"Episode01"},{"_id":"A/Episode02","project":"A","name":"Episode02"},{"_id":"B/Episode01","project":"B","name":"Episode01"}],"Sequences":[{"_id":"A/Episode01/Sequence01","project":"A","episode":"Episode01","name":"Sequence01"},{"_id":"A/Episode02/Sequence02","project":"A","episode":"Episode02","name":"Sequence02"},{"_id":"B/Episode01/Sequence01","project":"B","episode":"Episode01","name":"Sequence01"}]}
Query
db.Projects.aggregate([{"$match":{"_id":"A"}},{$lookup:{from:"Episodes",let:{id:"$_id"},pipeline:[{$match:{$expr:{$eq:["$project","$$id"]}}},{$lookup:{from:"Sequences",let:{epi:"$name"},pipeline:[{$match:{$expr:{$eq:["$episode","$$epi"]}}}],as:"sequences"}}],as:"episodes"}}])