Khi bạn $group
sau một $sort
trong đường ống, phân loại trước đó bị mất. Thay vào đó, bạn phải làm điều gì đó như thế này để ngày bạn muốn sắp xếp có sẵn sau khi nhóm:
db.summary.aggregate(
{$match: {circles: 2}},
{$group: {_id: '$cid', date: {$max: '$date'}}},
{$sort: {date: -1}});
kết quả:
[ { _id: 2, date: 5 },
{ _id: 1, date: 2 },
{ _id: 3, date: 0 } ]
Thêm $project
đến cuối đường ống nếu bạn muốn định hình lại đầu ra.