MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Groupby no MongoTemplate retornando campos vazios


Eu tenho o resultado que eu acho que você queria usando o seguinte:
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; " +
                                         "}");

Observe que o que você precisa fazer é dizer à função de redução o que colocar nos campos a, b e c, bem como no campo total.

Isso me deu uma saída bruta de:
{ "a" : 10.0 , "b" : 20.0 , "c" : 30.0 , "total" : 300.0}

Como você não incluiu a classe Grouped, não tenho certeza se isso mapeia exatamente o objeto que você queria, mas pode apontar na direção certa.