【发布时间】:2012-03-09 18:57:46
【问题描述】:
我有一些看起来像这样的文件:
{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...]
但是,我遇到了 reduce 溢出错误,“Reduce 输出必须更快地缩小”。事实上,couchdb docs 说“根据经验,reduce 函数应该减少到单个标量值。” ...“如果您尝试使用 reduce 的“错误方式”,CouchDB 会给您一个警告。
所以,我想我正在以“错误的方式”使用 Couch MR。进行这种计算的“正确方法”是什么?
【问题讨论】: