Database

db={"projectStorage":[{name:"storage",containers:[{name:"container1",items:["item1","item2"]},{name:"container2",items:["item2","item3"]}]}],"project-items":[{name:"item1",value:1},{name:"item2",value:1},{name:"item3",value:1}]}

Query

db.projectStorage.aggregate([{$match:{name:"storage"}},{$lookup:{from:"project-items",localField:"containers.items",foreignField:"name",as:"items"}},{$set:{containers:{$map:{input:"$containers",as:"c",in:{$mergeObjects:["$$c",{_inlinedItems:{$filter:{input:"$items",cond:{$in:["$$this.name","$$c.items"]}}}}]}}}}},{$project:{items:0}}])

Result