A forma do objeto que você
emit
do seu map
A função deve ser igual ao objeto retornado do seu reduce
função, como os resultados de um reduce
pode ser realimentado em reduce
ao processar um grande número de documentos (como neste caso). Então você precisa alterar seu
emit
para emitir documentos como este:{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}
e, em seguida, atualize seu
reduce
funcionar em conformidade.