Mongodb 吗啡聚集
我有一个来自morphia的聚合管道,只有两个选项,即组和项目 将2个字段分组并投影到同一个字段 只要我将一个字段作为_id分组,如下所示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
.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所需的类。如果我错了,请纠正我。