集約パイプラインから返される結果は、単なるオブジェクトです。したがって、個別の操作としてではなく、パイプラインステージとして並べ替えを行います。
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
}
);
したがって、 $group
に使用できるさまざまなパイプライン演算子があります または$sort
または$limit
と他のものも。これらは、任意の順序で、必要な回数だけ表示できます。ある「パイプライン」ステージが次のステージに流れ込むことを理解するだけです。