Database

db={"methods":[{"_id":1,"name":"Test","reagents":[{_id:1,quantity:2},{_id:2,quantity:4}]}],"items":[{"_id":1,"name":"ItemOne","other":"field"},{"_id":2,"name":"ItemTwo","other":"field"}]}

Query

db.methods.aggregate([{$lookup:{from:"items",localField:"reagents._id",foreignField:"_id",as:"reagent_items"}},{$project:{_id:1,name:1,reagents:1,reagent_items:{$map:{input:"$reagent_items",as:"ri",in:{$mergeObjects:["$$ri",{$arrayElemAt:[{$filter:{input:"$reagents",cond:{$eq:["$$this._id","$$ri._id"]}}},0]}]}}}}}])

Result