【发布时间】:2013-11-14 01:16:18
【问题描述】:
是否可以在 $group 的 _id 字段中有自定义函数?尽管文档似乎表明可以计算该字段,但我无法使其工作。
例如,假设我有一组文档,其数字字段范围为 1 到 100。我想将数字分类到几个桶中,例如1-20、21-40 等。然后,我将使用此存储桶标识符对不同的字段进行求和/平均。所以我正在尝试这样做:
$group : { _id : bucket("$numberfield") , sum: { $sum: "$otherfield" } }
...其中 bucket 是一个返回字符串的函数,例如“1-20”。
那没用。
http://docs.mongodb.org/manual/reference/operator/aggregation/group/#pipe._S_group
对于这个 _id 字段,您可以指定各种表达式,包括管道中文档的单个字段、上一阶段的计算值、包含多个字段的文档以及其他有效表达式,例如作为常量或子文档字段。
【问题讨论】:
标签: mongodb aggregation-framework