Tvar objektu, který emit
z vaší map
funkce musí být stejná jako objekt vrácený z vašeho reduce
funkce jako výsledek reduce
může dostat zpět do reduce
při zpracování velkého množství dokumentů (jako v tomto případě).
Musíte tedy změnit emit
k odesílání dokumentů jako je tento:
{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}
a poté aktualizujte reduce
podle toho fungovat.