Hasil yang dikembalikan dari pipa agregasi hanyalah objek biasa. Jadi, Anda melakukan pengurutan sebagai tahap saluran, bukan sebagai operasi terpisah:
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
}
);
Jadi ada berbagai operator pipa yang dapat digunakan untuk $group
atau $sort
atau $limit
dan hal-hal lain juga. Ini dapat disajikan dalam urutan apa pun, dan sebanyak yang diperlukan. Hanya dengan memahami bahwa satu tahap "pipa" mengalirkan hasil ke tahap berikutnya untuk ditindaklanjuti.