首页/数据/NoSQL 速查/聚合 $bucket 按值分桶
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

聚合 $bucket 按值分桶

$bucket 按边界把数值或日期分到相邻区间并聚合;$bucketAuto 自动等分桶,适合分布类统计。

NoSQL 速查数据更新于 2026-10-12
语法{ $bucket: { groupBy, boundaries: [...], default, output } }
边界左闭右开区间,last boundary 需大于最大值
自动化$bucketAuto 按数量自动切分

示例

示例
db.orders.aggregate([
  { $bucket: {
      groupBy: "$qty",
      boundaries: [0, 10, 50, 100],
      default: "large",
      output: { orders: { $sum: 1 }, totalQty: { $sum: "$qty" } }
  } }
])
边界外的值走 default 桶,不给 default 时遇到越界值直接报错。

易错点

  • boundaries 必须升序且至少两个值,重复或乱序会直接报错

数据来源与参考

  • MongoDB Manual: $bucket
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌