Jeśli zmienisz ostatnią linię na następującą, powinno działać:
return {qty:sum1, qtybs:sum2};
Zasada jest taka, że wartość zwracana przez funkcję zmniejszania musi mieć taki sam „kształt” jak drugi argument do wyemitowania (który jest wejściem do zmniejszenia), ponieważ wyjście z funkcji zmniejszania jest przekazywane z powrotem do funkcji zmniejszania. Zobacz http://www.mongodb.org/display/DOCS/MapReduce# MapReduce-ReduceFunction po więcej szczegółów.