吗啡聚集
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")))
我拥有的是来自 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")))