Bentuk objek yang Anda emit dari map . Anda fungsi harus sama dengan objek yang dikembalikan dari reduce fungsi, sebagai hasil dari reduce bisa mendapatkan umpan balik ke reduce saat memproses sejumlah besar dokumen (seperti dalam kasus ini).
Jadi, Anda perlu mengubah emit untuk memancarkan dokumen seperti ini:
{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}
lalu perbarui reduce berfungsi sebagaimana mestinya.