Database
db={"col1":[{"_id":{"$oid":"6423cddbf4db0d397b22390a"},"dimension":[{"_id":{"$oid":"6423cde4f4db0d397b22390b"},"dimensionChild":"Wedding"},{"_id":{"$oid":"6423ce0af4db0d397b22390c"},"dimensionChild":"Business Casual"},{"_id":{"$oid":"6423ce18f4db0d397b22390d"},"dimensionChild":"Formal"}]},],"col2":[{"productTags":[{"$oid":"6423ce0af4db0d397b22390c"/** id from above doc*/},{"$oid":"6423b723f226c91a55d756bc"/** id from different document*/}]}]}
Query
db.col1.aggregate([{"$lookup":{"from":"col2","localField":"dimension._id","foreignField":"productTags",as:"dimensions"}},{$match:{dimensions:{$ne:[]}}},{$set:{productTags:{$reduce:{input:"$dimensions",initialValue:[],in:{$concatArrays:["$$value","$$this.productTags"]}}}}},{$set:{dimension:{$filter:{input:"$dimension",cond:{$in:["$$this._id","$productTags"]}}}}},{$unwind:"$dimension"},{$replaceWith:"$dimension"}])