Database

db={"houses":[{"_id":ObjectId("5fba17c1c4566e57fafdcd7e"),"address":"Main street 1","keyHolders":[{"keyDelivered":"2022-02-02T02:02:02","personId":"5fbb5ab778045a985690b5fc"},{"keyDelivered":"2021-01-01T01:01:01","personId":"5fbb5ab778045a985690b5fd"}]},{"_id":ObjectId("5fba17c1c4566e57fafdcd7f"),"address":"Broadway 3","keyHolders":[{"keyDelivered":"1993-03-03T03:03:03","personId":"5fbb5ab778045a985690b5fc"}]}],"persons":[{"_id":ObjectId("5fbb5ab778045a985690b5fc"),"name":"Jack Bauer",},{"_id":ObjectId("5fbb5ab778045a985690b5fd"),"name":"James Bond",}]}

Query

db.houses.aggregate([{$addFields:{mappedItems:{$map:{input:"$keyHolders",in:{$mergeObjects:["$$this",{personId:{$toObjectId:"$$this.personId"}}]}}}}},{$lookup:{from:"persons",localField:"mappedItems.personId",foreignField:"_id",as:"itemsCollection"}},{$project:{address:1,keyHolders:{$map:{input:"$mappedItems",as:"i",in:{$mergeObjects:["$$i",{$first:{$filter:{input:"$itemsCollection",cond:{$eq:["$$this._id","$$i.personId"]}}}}]}}}}}])

Result