Агрегацията на MongoDB предлага $max оператор, но във вашия случай искате "целият" запис такъв, какъвто е. Така че подходящото нещо, което трябва да направите тук, е $sort и след това използвайте $first оператор в $group изявление:
db.collection.aggregate([
{ "$sort": { "session": 1, "age": -1 } },
{ "$group": {
"_id": "$session",
"age": { "$first": "$age" },
"firstName": { "$first" "$firstName" },
"lastName": { "$first": "$lastName" }
}}
])
Така че "сортирането" получава правилния ред, а "групирането" избира първото появяване в ключа "групиране", където съществуват тези полета.
Най-често $first тук, защото $sort се извършва в обратен ред. Можете също да използвате $last когато също е във възходящ ред.