Cuando $group
después de un $sort
en la canalización, el tipo anterior se pierde. Debería hacer algo como esto para que la fecha por la que desea ordenar esté disponible después de la agrupación:
db.summary.aggregate(
{$match: {circles: 2}},
{$group: {_id: '$cid', date: {$max: '$date'}}},
{$sort: {date: -1}});
resultado:
[ { _id: 2, date: 5 },
{ _id: 1, date: 2 },
{ _id: 3, date: 0 } ]
Agrega un $project
hasta el final de la canalización si desea remodelar la salida.