Database
db={transaction:[{"schedule":1,"uniqueCode":"312312312312","created":"Date"},{"schedule":1,"uniqueCode":"1213123123","created":"Date"}],schedule:[{"_id":1,"start":"date","end":"date","questions":[12,32,122],"items":[{"item":101,"stock":120},{"item":102,"stock":1000}],"status":"Active"},{"_id":2,"start":"date","end":"date","questions":[12,32,122],"items":[{"item":101,"stock":120}],"status":"Active"}]}
Query
db.schedule.aggregate([{"$lookup":{"from":"transaction","localField":"_id","foreignField":"schedule","as":"transactions"}},{$project:{schedule:"$_id",total:{$subtract:[{$sum:"$items.stock"},{$size:"$transactions"}]}}}])