sql >> Database teknologi >  >> NoSQL >> MongoDB

Groupby i MongoTemplate returnerer tomme felter

Jeg har fået det resultat, som jeg tror, ​​du ønskede ved at bruge følgende:

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

Bemærk, at det, du skal gøre, er at fortælle reduktionsfunktionen, hvad der skal indsættes i felterne a, b og c samt det samlede felt.

Dette gav mig et rå output på:

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

Da du ikke har inkluderet klassen Grupperet, er jeg ikke sikker på, om dette er knyttet nøjagtigt til det objekt, du ønskede, men det kan pege dig i den rigtige retning.




  1. Sammenligning af fortegnet 64 bit nummer ved hjælp af 32 bit bitvise operationer i Lua

  2. MongoDB Aggregate funktion i C#

  3. Sådan forespørges alle underdokumenter

  4. MongoDB Aggregation:Beregn løbende totaler fra summen af ​​tidligere rækker