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