Database
[{"_id":ObjectId("5a934e000102030405000000"),"subDoc":[{"a":1,"subArray":[1,2,3]},{"b":2}]},{"_id":ObjectId("5a934e000102030405000001"),"subDoc":[{"a":1,"subArray":[4,5,6]},{"b":2},{"c":3,"subArray":[8,8,8]}]}]
Query
db.collection.aggregate([{$addFields:{subDoc:{$map:{input:"$subDoc",in:{$mergeObjects:["$$this",{sum:{$sum:"$$this.subArray"},size:{$size:{$ifNull:["$$this.subArray",[]]}}}]}}}}}])