我正在尝试map reduce中的一个函数,它对数据进行排序并返回它。当输入查询中的所有桶密钥对都存在于riak集群中时,它可以很好地工作。当桶/密钥对不存在时,它会给出如下输出。
[{"not_found":{"bucket":"newspaper-issue","key":"56276","keydata":"undefined"}}]
我无法从地图阶段删除此输出,即使我在地图阶段只是return []
,它也会返回此单个对象。
我的问题是如何避免此输出,因为在输入中可能会丢失一些存储桶/密钥。
地图功能是这样的:
"language" => "javascript",
"source" => "function(value,keyData,arg){
return []
},
"keep"=>true
答案 0 :(得分:2)
我发现这已经在我们的邮件列表中为您解答了,但是想在这里也提供答案:
在reduce阶段有一个内置的JS函数来修复它; filterNotFound()
return Riak.filterNotFound(your_object_passed_from_map_phase);