【发布时间】:2011-08-31 06:43:39
【问题描述】:
我不知道这是否真的是 rereduce,但这就是我在这里的原因。
我有这个:
“南非荷兰语”ID:f6733302df85ac109397f4b6030005bf [1, 2]
“南非荷兰语”ID:f6733302df85ac109397f4b6030006d1 [1, 3]
“南非荷兰语”ID:f6733302df85ac109397f4b6030012b6 [2, 4]
“中文”ID:f6733302df85ac109397f4b6030012eb 1
“中文”ID:f6733302df85ac109397f4b603001d87 1
如果值不是数组,我知道如何计算总和(例如 中国人)。但我无法对数组中的值求和,它 结果是:“afrikan”“02,41,31,2”
还有一个问题:有没有办法对所有值求和? 钥匙?
查看代码:
function(doc) {
if(doc.food) {
emit(doc.food, doc.type);
}
}
减少代码:
function(keys,values,rereduce)
{
return sum(values);
}
非常感谢:)
更新:
我找到了 Couchdb 的答案。
代码如下:
function(doc) {
if(doc.food) {
if(doc.type.length>1) {
doc.type.forEach(function(tag) {
emit(doc.food,tag);
});
}else {
emit(doc.food,doc.type);
}
}
}
减少:
function(keys,values) {
return sum(values);
}
【问题讨论】: