Database

db={"people":[{"id":1,"name":"Pete","occupation":"baker"},{"id":2,"name":"Mike","occupation":"painter"}],"activity":[{"baker":"bakes","painter":"paints"}]}

Query

db.people.aggregate([{"$lookup":{"from":"activity","let":{occ:"$occupation"},"pipeline":[{"$replaceWith":{"$arrayToObject":{"$filter":{"input":{"$objectToArray":"$$ROOT"},"as":"kv","cond":{"$eq":["$$kv.k","$$occ"]}}}}}],"as":"activity"}},{"$set":{"activity":{"$getField":{"field":"v","input":{"$first":{"$objectToArray":{"$first":"$activity"}}}}}}},{"$unset":"_id"}])

Result