吗啡聚集

Morphia aggregation

我拥有的是来自 morphia 的聚合管道,只有 2 个选项,即组和项目。

2 个字段进行分组和投影。

每当我只用一个字段作为 _id 分组时,如下所示

.group(Group.id(Group.grouping("field1")))  

我得到以下正确的结果分组。

{
    field1:"xyz"
}
{
    field1:"abcdefg"
}

我想要的是对我的 col 'count'(int) 求和的分组,如下所示,当我尝试以下分组时,结果不正确

.group(Group.id(Group.grouping("field1"),Group.grouping("count", Accumulator.accumulator("$sum","countfield"))))

结果:

{
    count: 10929,
    field1: "xyz"
},
{
    count: 13012,
    field1: "abcdefg"
},
{
    count: 899,
    field1: "xyz"
}

虽然我的预期是

{
    count: 11828,
    field1: "xyz"
},
{
    count: 13012,
    field1: "abcdefg"
}

我使用 Morphia 1.3.0 连接到 mongodb。

我让上面的代码工作了,通过调用静态方法/类 吗啡分组和聚合来简化。

.group(id(grouping("field1")),grouping("count", sum("countfield")))