我尝试使用 spring-data-mongodb-> 1.10.11.RELEASE 通过简单的求和运算来实现聚合 我尝试了以下查询
db.transaction.aggregate([{
$group: {
_id:"null",
netBalance: {
$sum: "$netBalance"
},
referalBalance: {
$sum: "$referalBalance"
}
}
}])
我终端的输出是
{ "_id" : "null", "netBalance" : 587432, "referalBalance" : 2940 }
当我尝试相同的查询时,使用spring mongodata
Aggregation aggregation =
Aggregation.newAggregation(
Aggregation.group("netBalance")
.sum("netBalance")
.as("netBalance"));
结果与终端输出不同,我也无法在查询中添加第二个字段。如何修改spring mongodata调用以具有相同的查询?
答案 0 :(得分:0)
使用spring,您将通过netBalance分组,而不是在shell中为null。要重现,只需将组参数保留为空(null会引发错误) 然后,您可以将sum应用于第二个字段。
尝试以下代码(未经测试,但必须可以工作):
Aggregation aggregation =
Aggregation.newAggregation(
Aggregation.group()
.sum("netBalance").as("netBalance")
.sum("referalBalance").as("referalBalance"));