Database

[{id:1,name:"My document 1",containers:[{id:"container1",selectedItems:["item3","item1"]},{id:"container2",selectedItems:["item3"]}],allItems:[{id:"item1",name:"My item 1"},{id:"item2",name:"My item 2"},{id:"item3",name:"My item 3"}],}]

Query

db.collection.aggregate([{$match:{id:1,}},{$project:{name:1,container:{"$arrayElemAt":[{$map:{input:{$filter:{input:"$containers",as:"container",cond:{$eq:["$$container.id","container1"]}},},as:"container",in:{"$mergeObjects":[{id:"$$container.id"},{selectedItems:{$map:{input:"$$container.selectedItems",as:"item",in:{"$arrayElemAt":[{$filter:{input:"$allItems",as:"filter",cond:{$eq:["$$filter.id","$$item"]}}},0]}}}}]}}},0]}}}])

Result