Database

[{"_id":1,"trailName":"Trail1","update":ISODate("2023-07-30T08:00:00Z"),"user":"Tom","comment":"xy"},{"_id":2,"trailName":"Trail1","update":ISODate("2023-07-31T08:00:00Z"),"user":"Mary","comment":"xy"},{"_id":3,"trailName":"Trail1","update":ISODate("2023-07-31T08:00:00Z"),"user":"Joe","comment":"xyz"},{"_id":4,"trailName":"Trail2","update":ISODate("2023-07-10T08:00:00Z"),"user":"Tom","comment":"xy"}]

Query

db.collection.aggregate([{"$group":{"_id":"$trailName","maxUpdate":{"$max":"$update"}}},{"$lookup":{"from":"collection","let":{"trail":"$_id","maxUpdate":"$maxUpdate"},"pipeline":[{"$match":{$expr:{$and:[{$eq:["$trailName","$$trail"]},{$eq:["$update","$$maxUpdate"]},]}}}],"as":"mostRecentDocs"}},{"$unwind":"$mostRecentDocs"},{"$replaceRoot":{"newRoot":"$mostRecentDocs"}},{"$group":{"_id":"$trailName","updateCount":{"$count":{}},"mostRecentUpdate":{"$max":"$update"},"users":{"$push":"$user"},"comments":{"$push":"$comment"}}}])

Result