Database

db={"inward":[{"ord":1,"products":[{"name":"apple","qty":"10","batch":"jun-2021"},{"name":"banana","qty":20,"batch":"jan-2021"}]}],"outward":[{"_id":ObjectId("5edde5487957d9efea972a74"),"inv":1,"products":[{"name":"apple","qty":13,"batch":"jun-2021"}]}]}

Query

db.inward.aggregate([{$lookup:{from:"outward",let:{ord:"$ord",products:"$products"},pipeline:[{$match:{$expr:{$eq:["$$ord","$inv"]}}},{$project:{products:{$concatArrays:["$$products","$products"]}}},{$unwind:"$products"},{$replaceWith:"$products"}],as:"products"}},{$unwind:"$products"},{$group:{_id:{batch:"$products.batch",name:"$products.name"},qty:{$sum:"$products.qty"}}}])

Result