MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB MapReduce:non funziona come previsto per più di 1000 record

La forma dell'oggetto che emit dalla tua map la funzione deve essere la stessa dell'oggetto restituito da reduce funzione, come risultato di una reduce può essere reimmesso in reduce durante l'elaborazione di un gran numero di documenti (come in questo caso).

Quindi devi cambiare il tuo emit per emettere documenti come questo:

{userid:<xyz>, {events:[{adduser: 1}], allEventCount:1}}
{userid:<xyz>, {events:[{login: 1}], allEventCount:1}}

e poi aggiorna il tuo reduce funzionare di conseguenza.