MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Estrutura de agregação do Mongo, classificar e agrupar não está funcionando


Quando você $group após um $sort no pipeline, a classificação anterior é perdida. Você teria que fazer algo assim para que a data pela qual você deseja classificar esteja disponível após o agrupamento:
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 } ]

Adicione um $project até o final do pipeline se você quiser remodelar a saída.