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.