从聚合管道返回的结果只是普通对象。因此,您将排序作为流水线阶段而不是作为单独的操作进行:
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
和其他东西。这些可以按任意顺序显示,并且可以根据需要多次显示。仅仅了解一个“管道”阶段的流程会导致下一步行动。



