Tengo una serie de documentos que se parece a esto:CouchDB map/reduce a una matriz
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }
{userId: 123, msg:{ timestamp:123466, event:"actionB"} }
etc...
Mapa fn:
emit(doc.userId, [doc.msg])
Reducir fn:
return [].concat.apply([], vs)
Estas funciones parecen hacer lo que espero, por lo que había pensado que vería una salida como:
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
Pero, estoy consiguiendo un reducir el error de desbordamiento, "Reducir la salida debe reducirse más rápidamente". De hecho, el couchdb docs dice que "como regla general, la función reducir debería reducirse a un único valor escalar". ... "CouchDB le dará una advertencia si intenta usar reducir" de la manera incorrecta "".
Entonces, supongo que estoy usando Couch MR de la "manera incorrecta". ¿Cuál sería la "forma correcta" de hacer este tipo de cálculo?