Spring Mongodata聚合查询

Spring Mongodata Aggregation query

我尝试使用 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 调用以具有相同的查询?

对于 spring,您在 shell 中按 netBalance 而不是 null 分组。要重现,只需将组参数留空(null 会抛出错误) 然后你可以在第二个字段上应用 sum 。

尝试此代码(未测试,但必须有效):

Aggregation aggregation = 
      Aggregation.newAggregation(
             Aggregation.group()
                        .sum("netBalance").as("netBalance")
                        .sum("referalBalance").as("referalBalance"));