Формата на обекта, който emit от вашата map функцията трябва да е същата като обекта, върнат от вашия reduce функция, като резултати от reduce може да се върне обратно в reduce при обработка на голям брой документи (както в този случай).
Така че трябва да промените своя emit за излъчване на документи като този:
{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}
и след това актуализирайте своя reduce функционират съответно.