MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Groupby в MongoTemplate връща празни полета

Получих резултата, който смятам, че искахте, използвайки следното:

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

Имайте предвид, че това, което трябва да направите, е да кажете на функцията за намаляване какво да постави в полетата a, b и c, както и в полето за обща сума.

Това ми даде необработен изход от:

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

Тъй като не сте включили групирания клас, не съм сигурен дали това съответства точно на обекта, който искате, но може да ви насочи в правилната посока.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $elemMatch с distinct

  2. Незадължителни полета на схемата Mongoose

  3. как да запишете резултат от заявка на mongodb в променлива на javascript?

  4. Как да кодирам MongoDB foreach Query в PHP

  5. MongoDB C# връзки/прекъсвания (официален драйвер)