MongoDB聚合运算符:$topN
在MongoDB中,没有直接的$topN
操作符,但是可以使用$sort
和$limit
操作符来实现获取前N个结果的需求。
以下是一个使用MongoDB聚合框架中的$sort
和$limit
操作符来模拟$topN
的例子:
假设我们有一个名为sales
的集合,我们想要获取每个item
销售额前两名的记录。
db.sales.aggregate([
{
$group: {
_id: "$item", // 分组字段为item
totalSales: { $sum: "$amount" } // 计算每个item的总销售额
}
},
{
$sort: {
totalSales: -1 // 根据总销售额降序排序
}
},
{
$limit: 2 // 限制输出结果为前两名
}
]);
这个查询首先使用$group
操作符对数据进行分组并计算每个item
的总销售额,然后使用$sort
操作符按总销售额降序排序,最后使用$limit
操作符限制输出结果只显示前两名。
评论已关闭