我在Couchbase中的reduce函数[仅用于测试]:
function(keys,values,reduce){
return values[0];
}
结果在这里
{"rows":[
{"key":null,"value":{"doctype":"closed_auctions","buyer":"person14108"}}
]
}
我想在进一步的过程中获得单个值reduce,所以当我尝试获取像values[0].doctype
这样的doctype的值时,即使应该有“closed_auctions”,它也会返回null
。问题是什么?如何在reduce函数中获得单个值(我的意思是字段值)。
答案 0 :(得分:3)
执行地图后调用的reduce函数。还记得re-reduce也被调用,那时你的结果会被进一步聚合。运行此视图时应使用“group = true”。
因此,有时值[0]可能没有文档
您需要首先检查属性/ doc是否存在,例如
function(keys, values, rereduce)
{
if (values[0] && values[0].doctype)
{
return values[0].doctype;
}
}
希望有所帮助。