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