Mam szereg dokumentów, które wyglądają tak:CouchDB Map/Reduce do tablicy
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }
{userId: 123, msg:{ timestamp:123466, event:"actionB"} }
etc...
Mapa Fn:
emit(doc.userId, [doc.msg])
Zmniejszenie Fn:
return [].concat.apply([], vs)
Funkcje te wydają się zrobić to, czego oczekuję, więc myślałem, że dożyję wyjście jak:
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
Ale jestem coraz zmniejszyć błąd przepełnienia, "Zmniejszanie produkcji musi się szybciej skurczyć". Rzeczywiście, couchdb docs mówi, że "Jako reguła, funkcja redukcji powinna zmniejszyć się do pojedynczej wartości skalarnej." ... "CouchDB da ci ostrzeżenie, jeśli spróbujesz użyć zmniejszenia" w niewłaściwy sposób "".
Sądzę, że używam Couch MR "w niewłaściwy sposób". Jaka byłaby "właściwa droga" do tego rodzaju obliczeń?