Database

[{"leaderId":"001","leader":"Josh","members":[{"name":"Person A","points":500,"date":ISODate("2023-05-30T18:00:00.000+00:00")},{"name":"Person B","points":500,"date":ISODate("2023-05-30T19:10:00.000+00:00")},{"name":"Person C","points":1000,"date":ISODate("2023-05-30T19:20:00.000+00:00")},{"name":"Person D","points":1500,"date":ISODate("2023-05-30T19:30:00.000+00:00")}]}]

Query

db.collection.aggregate([{$match:{leader:"Josh"}},{$unwind:"$members"},{$sort:{"members.date":-1}},{$limit:3},{$group:{_id:"$leaderId",latestThreePoints:{$sum:"$members.points"}}}])

Result