Database

db={"transactions":[{"_id":{"$oid":"6480267ab9fe78e82131b737"},"date":{"$date":"2020-06-22T00:00:00.000Z"},"desc":"abcKey1def",},{"_id":{"$oid":"6480267ab9fe78e82131b738"},"date":{"$date":"2020-06-23T00:00:00.000Z"},"desc":"abcdef",}],"keywords":[{"_id":{"$oid":"64816f3828372d84a93cd4ad"},"code":123,"desc":"Key1"},{"_id":{"$oid":"648174bf28372d84a93cd4b5"},"code":456,"desc":"Key2",}]}

Query

db.transactions.aggregate([{$lookup:{from:"keywords",let:{keywordStr:{$substr:["$desc",3,{$subtract:[{$strLenCP:"$desc"},6]}]}},pipeline:[{$match:{$expr:{$eq:["$desc","$$keywordStr"]}}}],as:"keywords"}},{$match:{keywords:{$ne:[]}}}])

Result