sql >> Databasteknik >  >> NoSQL >> MongoDB

Groupby i MongoTemplate returnerar tomma fält

Jag har det resultat som jag tror du ville ha med följande:

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

Observera att det du behöver göra är att tala om för reduceringsfunktionen vad som ska läggas in i a-, b- och c-fälten samt det totala fältet.

Detta gav mig en råproduktion av:

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

Eftersom du inte har inkluderat den grupperade klassen är jag inte säker på om denna mappar exakt till det objekt du ville ha, men det kan peka dig i rätt riktning.




  1. Redis zrevrangebyscore, sortering annat än lexikografisk ordning

  2. MongoDB $acos

  3. tar bort scanAndOrder :sant i mitt MongoDB-frågeresultat

  4. Hur får man Mongoose att lista alla dokument i samlingen? För att berätta om samlingen är tom?