我有很多类似的文件:
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }
{userId: 123, msg:{ timestamp:123466, event:"actionB"} }
etc...
映射fn:
emit(doc.userId, [doc.msg])
减少fn:
return [].concat.apply([], vs)
这些功能似乎符合我的预期,所以我认为我会看到输出:
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
但是,我得到减少溢出错误,“减少输出必须更快地收缩”。实际上,couchdb docs表示“根据经验,减少函数应该减少到单个标量值。” ......“如果你尝试使用”错误方式“,CouchDB会给你一个警告。”
所以,我想我正在使用Couch MR“错误的方式”。进行这种计算的“正确方法”是什么?