Výsledky vrácené z potrubí agregace jsou jen obyčejné objekty. Takže třídění provádíte jako fázi potrubí, nikoli jako samostatnou operaci:
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
}
);
Existují tedy různé operátory potrubí, které lze použít k $group
nebo $sort
nebo $limit
a také další věci. Mohou být předloženy v libovolném pořadí a tolikrát, kolikrát je potřeba. Pouhé pochopení toho, že jedna „potrubní“ fáze proudí, má za následek další, podle které je třeba jednat.