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を使用することもできます 昇順の場合も同様です。