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"}},{"$project":{_id:"$leaderId","latestThreePoints":{"$reduce":{"input":{"$slice":[{$sortArray:{input:"$members",sortBy:{date:-1}}},3]},"initialValue":0,"in":{$sum:["$$this.points","$$value"]}}}}}])

Result