Database
[{title:"abc",parts:[{part:"verse",progressions:[{progression:"62a4a87da7fdbdabf787e47f",key:"Ab",_id:"62b5aaa0c9e9fe8a7d7240d3"},{progression:"62adf477ed11cbbe156d5769",key:"C",_id:"62b5aaa0c9e9fe8a7d7240d3"},],_id:"62b5aaa0c9e9fe8a7d7240d2"},{part:"chorus",progressions:[{progression:"62a4a51b4693c43dce9be09c",key:"E",_id:"62b5aaa0c9e9fe8a7d7240d9"}],_id:"62b5aaa0c9e9fe8a7d7240d8"}],},{title:"def",parts:[{part:"verse",progressions:[{progression:"33a4a87da7fopvvbf787erwe",key:"E",_id:"62b5aaa0c9e9fe8a7d7240d3"},{progression:"98opf477ewfscbbe156d5442",key:"Bb",_id:"62b5aaa0c9e9fe8a7d7240d3"},],_id:"12r3aaa0c4r5me8a7d72oi8u"},{part:"bridge",progressions:[{progression:"62a4a51b4693c43dce9be09c",key:"C#",_id:"62b5aaa0c9e9fe8a7d7240d9"}],_id:"62b5aaa0rwfvse8a7d7240d8"}],}]
Query
db.collection.aggregate([{$addFields:{inputData:[{part:"verse",progressions:["62a4a87da7fdbdabf787e47f","62a4a51b4693c43dce9be09c"]},{part:"chorus",progressions:["62adf477ed11cbbe156d5769"]}]}},{$addFields:{cond:"$parts"}},{$unwind:"$cond"},{$unwind:"$cond.progressions"},{$unwind:"$inputData"},{$match:{$expr:{$and:[{$eq:["$cond.part","$inputData.part"]},{$in:["$cond.progressions.progression","$inputData.progressions"]}]}}},{$project:{title:1,parts:1}}])