Database
db={"resourcepolicies":[{resource:"resource1",permissions:["permission:read","role:admin"]}],"rolepermissions":[{name:"role:admin",permissions:["permission:write","permission:delete"]}]}
Query
db.resourcepolicies.aggregate([{$match:{$expr:{$eq:["$resource","resource1"]},},},{$lookup:{from:"rolepermissions",localField:"permissions",foreignField:"name",as:"rolePermissions",},},{$project:{_id:-1,permissions:{$map:{input:"$permissions",in:{$cond:[{$eq:["$$this","$rolePermissions.name"]},"$rolePermissions.permissions","$$this",],},}},resource:1,},}])