MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB MapReduce:Funktioniert nicht wie erwartet für mehr als 1000 Datensätze

Die Form des Objekts, das Sie emit von Ihrer map Die Funktion muss dasselbe sein wie das Objekt, das von Ihrem reduce zurückgegeben wird Funktion, als Ergebnis eines reduce können in reduce zurückgeführt werden bei der Verarbeitung einer großen Anzahl von Dokumenten (wie in diesem Fall).

Sie müssen also Ihren emit ändern um Dokumente wie diese auszugeben:

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

und aktualisieren Sie dann Ihren reduce entsprechend funktionieren.