Database

[{_id:"usr-1",userMDs:{md8:0.5,md9:1,md13:-0.5,md14:0.5,md15:1,md19:-0.5,md20:-1,md21:1,md25:-0.5,md26:1},matchMDs:{md1:0.5,md2:0.5,md3:1,md7:-0.5,md15:1,md19:-0.4,md20:-1,md21:1,md25:-0.5,}},{_id:"usr-2",userMDs:{md1:0.6,md2:0.5,md3:1,md7:-0.5,md13:-0.5,md14:0.5,md15:1.1,md19:-0.5,md20:-1,md21:1,md25:-0.5,md26:1},matchMDs:{md1:0.2,md2:0.5,md3:1,md7:-0.5,md15:1,md20:-1,md21:1,md25:-0.5,md26:1}}]

Query

db.collection.aggregate([{$addFields:{userMDsArr:{$objectToArray:"$userMDs"},matchMDsArr:{$objectToArray:"$matchMDs"}}},{$addFields:{subtracted:{$arrayToObject:{$map:{input:"$userMDsArr",as:"userMD",in:{k:"$$userMD.k",v:{$let:{vars:{matchMD:{$arrayElemAt:[{$filter:{input:"$matchMDsArr",as:"matchMD",cond:{$eq:["$$matchMD.k","$$userMD.k"]}}},0]},},in:{$round:[{$subtract:["$$userMD.v",{$ifNull:["$$matchMD.v",0]}]},1]}}}}}}}}},{$project:{_id:1,subtracted:1}}])

Result