Resultaterne, der returneres fra aggregeringspipelinen, er blot almindelige objekter. Så du udfører sorteringen som et pipelinetrin, ikke 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å der er forskellige pipeline-operatører, der kan bruges til at $group
eller $sort
eller $limit
og andre ting også. Disse kan præsenteres i vilkårlig rækkefølge, og så mange gange som nødvendigt. Bare det at forstå, at det ene "pipeline"-trin flyder, resulterer i det næste at handle på.