sql >> Base de Datos >  >> NoSQL >> MongoDB

Marco de agregación de Mongo, Ordenar y luego agrupar no funciona

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.