Database

[{"timeStamp":1644962269,"uID":"20200308","capacityLeft":500},{"timeStamp":1644962272,"uID":"20200308","capacityLeft":499},{"timeStamp":1644962275,"uID":"20200306","capacityLeft":300},{"timeStamp":1644962277,"uID":"20200308","capacityLeft":499},{"timeStamp":1644962277,"uID":"20200306","capacityLeft":300},{"timeStamp":1644962279,"uID":"12345678","capacityLeft":753},{"timeStamp":1644962281,"uID":"12345678","capacityLeft":752},{"timeStamp":1644962283,"uID":"12345678","capacityLeft":751}]

Query

db.collection.aggregate([{$match:{uID:{$in:["20200308","20200306"]}}},{$sort:{uID:1,"timeStamp":-1}},{$group:{_id:"$uID",ts:{$push:"$$ROOT"}}},{$project:{ts:{$slice:["$ts",30]}}},{$unwind:"$ts"},{$group:{_id:"$_id",sumcapLast30:{$sum:"$ts.capacityLeft"}}}])

Result