Resultaten som returneras från aggregeringspipelinen är bara vanliga objekt. Så du gör sorteringen som ett pipelinesteg, inte som en separat operation:
Recommend.aggregate(
[
// Grouping pipeline
{ "$group": {
"_id": '$roomId',
"recommendCount": { "$sum": 1 }
}},
// Sorting pipeline
{ "$sort": { "recommendCount": -1 } },
// Optionally limit results
{ "$limit": 5 }
],
function(err,result) {
// Result is an array of documents
}
);
Så det finns olika pipeline-operatörer som kan användas för att $group
eller $sort
eller $limit
och andra saker också. Dessa kan presenteras i valfri ordning och så många gånger som krävs. Bara att förstå att ett "pipeline"-steg flödar över i nästa att agera på.