Tôi đã có kết quả mà tôi nghĩ bạn muốn bằng cách sử dụng như sau:
GroupBy groupBy = GroupBy.key("a", "b", "c")
.initialDocument("{ total: 0 }")
.reduceFunction("function(obj, result) { " +
" result.a = obj.a; " +
" result.b = obj.b; " +
" result.c = obj.c; " +
" result.total += obj.total; " +
"}");
Lưu ý rằng những gì bạn cần làm là cho hàm giảm biết những gì cần đưa vào các trường a, b và c cũng như trường tổng.
Điều này đã cho tôi kết quả thô là:
{ "a" : 10.0 , "b" : 20.0 , "c" : 30.0 , "total" : 300.0}
Vì bạn chưa bao gồm lớp Được nhóm nên tôi không chắc liệu điều này có ánh xạ chính xác vào đối tượng mà bạn muốn hay không, nhưng nó có thể chỉ cho bạn đúng hướng.