Ho il risultato che penso tu volessi usare quanto segue:
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; " +
"}");
Tieni presente che ciò che devi fare è dire alla funzione di riduzione cosa inserire nei campi a, b e c, nonché nel campo totale.
Questo mi ha dato un output grezzo di:
{ "a" : 10.0 , "b" : 20.0 , "c" : 30.0 , "total" : 300.0}
Dato che non hai incluso la classe Raggruppata, non sono sicuro che questa venga mappata esattamente nell'oggetto che volevi, ma potrebbe indirizzarti nella giusta direzione.