MongoDB聚合运算符:$top
$top
聚合运算符返回一个指定顺序分组的第一个元素。
语法
{
$top:
{
sortBy: {
<field1>: <sort order>, <field2>: <sort order> ... },
output: <expression>
}
}
字段说明:
字段 | 是否必须 | 描述 |
---|---|---|
sortBy | 是 | 指定结果排序方式,跟$sort 一样 |
output | 是 | 指定分组元素输出的内容,可以是任何合法的表达式 |
用法
$top
不支持作为聚合表达式。$top
只支持作为window 操作符
。- 聚合管道调用
$top
受100M的限制,如果单组超过这一限制将报错。
关于null和缺失值的处理
$top
不会过滤掉空值,也就是空值也参与排序$top
会将缺失值转换为null,也就是缺失值会当做null排序
下面的聚合返回分组中得分最高的文档:
db.aggregate( [
{
$documents: [
{
playerId: "PlayerA", gameId: "G1", score: 1 },
{
playerId: "PlayerB", gameId: "G1", score: 2 },
{
playerId: "PlayerC", gameId: "G1", score: 3 },