在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Aggregate.bucket(object: Object): Aggregate支持端:小程序 2.7.4, 云函数 0.8.1, Web 聚合阶段。将输入记录根据给定的条件和边界划分成不同的组,每组即一个 bucket。 参数object: Object返回值AggregateAPI 说明每组分别作为一个记录输出,包含一个以下界为值的 _id 字段和一个以组中记录数为值的 count 字段。count 在没有指定 output 的时候是默认输出的。 bucket 只会在组内有至少一个记录的时候输出。 bucket 的形式如下:
groupBy 是一个用以决定分组的表达式,会应用在各个输入记录上。可以用 $ 前缀加上要用以分组的字段路径来作为表达式。除非用 default 指定了默认值,否则每个记录都需要包含指定的字段,且字段值必须在 boundaries 指定的范围之内。 boundaries 是一个数组,每个元素分别是每组的下界。必须至少指定两个边界值。数组值必须是同类型递增的值。 default 可选,指定之后,没有进入任何分组的记录将都进入一个默认分组,这个分组记录的 _id 即由 default 决定。default 的值必须小于 boundaries 中的最小值或大于等于其中的最大值。default 的值可以与 boundaries 元素值类型不同。 output 可选,用以决定输出记录除了 _id 外还要包含哪些字段,各个字段的值必须用累加器表达式指定。当 output 指定时,默认的 count 是不会被默认输出的,必须手动指定:
使用 bucket 需要满足以下至少一个条件,否则会抛出错误:
示例假设集合 items 有如下记录:
对上述记录进行分组,将 [0, 50) 分为一组,[50, 100) 分为一组,其他分为一组:
返回结果如下:
|
请发表评论