Database

db={assemblies:[{mechanicalItems:[{mechanicalId:ObjectId("5a934e000102030405000001"),quantity:10},{mechanicalId:ObjectId("5a934e000102030405000002"),quantity:20}],electricalItems:[{mechanicalId:ObjectId("5a934e000102030405000003"),quantity:2}]}],mechanicalitems:[{_id:ObjectId("5a934e000102030405000001"),size:"12",material:"steel",style:"thick"},{_id:ObjectId("5a934e000102030405000002"),size:"15",material:"aluminium",style:"thin"}]}

Query

db.assemblies.aggregate([{$lookup:{from:"mechanicalitems",let:{mechanicalItem:"$mechanicalItems",item:"$mechanicalItems.mechanicalId"},pipeline:[{$match:{$expr:{$in:["$_id","$$item"]}}},{$set:{"quantity":{$first:{$map:{input:{$filter:{input:"$$mechanicalItem",cond:{$eq:["$_id","$$this.mechanicalId"]}}},in:"$$this.quantity"}}}}}],as:"mechanicalItems"}}])

Result