Formen på det objekt, du emit fra dit map funktionen skal være den samme som det objekt, der returneres fra din reduce funktion, som resultatet af en reduce kan blive ført tilbage til reduce ved behandling af et stort antal dokumenter (som i dette tilfælde).
Så du skal ændre din emit for at udsende dokumenter som dette:
{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}
og opdater derefter din reduce fungere i overensstemmelse hermed.