Mongodb 吗啡聚集

Mongodb 吗啡聚集,mongodb,morphia,Mongodb,Morphia,我有一个来自morphia的聚合管道,只有两个选项,即组和项目 将2个字段分组并投影到同一个字段 只要我将一个字段作为_id分组,如下所示 .group(Group.id(Group.grouping("field1"))) 我得到了以下正确的结果 { field1:"xyz" } { field1:"abcdefg" } 我想要的是一个分组,它将我的列“count”(int)相加如下,当我尝试以下分组时,结果不正确 .group(Group.id(Group.group

我有一个来自morphia的聚合管道,只有两个选项,即组和项目

将2个字段分组并投影到同一个字段

只要我将一个字段作为_id分组,如下所示

.group(Group.id(Group.grouping("field1")))  
我得到了以下正确的结果

{
    field1:"xyz"
}
{
    field1:"abcdefg"
}
我想要的是一个分组,它将我的列“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。

我让上述代码正常工作,通过调用Morphia分组和聚合的静态方法/类来简化

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

您正在对哪个对象/类调用group()?你能给我们一个更大的代码片段吗。拜托?@NicCottrell我认为group()是在mongo文档的“字段”上调用的。因此,上面的“field1”只是一个类似于关系数据库的列,当然结果集和查询文档的结构被映射到morphia所需的类。如果我错了,请纠正我。