Mongodb Spring Mongodata聚合查询

Mongodb Spring Mongodata聚合查询,mongodb,spring-data,spring-mongo,Mongodb,Spring Data,Spring Mongo,我尝试使用SpringDataMongoDB->1.10.11.RELEASE 我尝试了以下查询 db.transaction.aggregate([{ $group: { _id:"null", netBalance: { $sum: "$netBalance" }, referalBalance: { $sum: "$referalBalance" }

我尝试使用SpringDataMongoDB->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,您将按照netBalance而不是shell中的null进行分组。要复制,只需将group param保留为空(null将抛出错误) 然后您可以在第二个字段上应用sum

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


您可以发布一些示例数据和第二个查询的输出吗?您可以在应用程序日志中验证spring data mongo生成的实际聚合查询是什么
Aggregation aggregation = 
      Aggregation.newAggregation(
             Aggregation.group()
                        .sum("netBalance").as("netBalance")
                        .sum("referalBalance").as("referalBalance"));