sql >> Databáze >  >> NoSQL >> MongoDB

Groupby v MongoTemplate vrací prázdná pole

Mám výsledek, který jste podle mě chtěli pomocí následujícího:

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

Všimněte si, že co musíte udělat, je říct funkci snížení, co má vložit do polí a, b a c a také do pole součtu.

To mi dalo hrubý výstup:

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

Vzhledem k tomu, že jste nezahrnuli třídu Grouped, nejsem si jistý, zda se to přesně namapuje na objekt, který jste chtěli, ale mohlo by vás to nasměrovat správným směrem.




  1. Nesprávný počet z agregačního dotazu

  2. Mongo:show dbs nezobrazuje testovací db. Proč?

  3. Jak předat vnitřní dotaz v mongodb z javascriptu

  4. Dotaz selhal s chybovým kódem 13 a chybovou zprávou „není autorizováno [db] k provedení příkazu { find: