sql >> Base de Datos >  >> NoSQL >> MongoDB

Groupby en MongoTemplate que devuelve campos vacíos

Obtuve el resultado que creo que querías usando lo siguiente:

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; " +
                                         "}");

Tenga en cuenta que lo que debe hacer es decirle a la función de reducción qué poner en los campos a, b y c, así como en el campo total.

Esto me dio una salida sin procesar de:

{ "a" : 10.0 , "b" : 20.0 , "c" : 30.0 , "total" : 300.0}

Dado que no ha incluido la clase Agrupada, no estoy seguro de si esto se corresponde exactamente con el objeto que deseaba, pero podría indicarle la dirección correcta.