riak mapreduce не нашел выход

Я пытался использовать функцию уменьшения карты, которая сортирует данные и возвращает их. Это хорошо работает, когда все пары ключей корзины во входном запросе существуют в кластере riak. Когда пара ведро/ключ не существует, это дает вывод, как показано ниже.

[{"not_found":{"bucket":"newspaper-issue","key":"56276","keydata":"undefined"}}]

Я не могу удалить этот вывод из фазы карты, даже когда я просто return [] в фазе карты, он возвращает этот единственный объект.

Мой вопрос заключается в том, как я могу избежать этого вывода, поскольку вполне вероятно, что во входных данных отсутствует какое-то ведро/ключ.

Функция карты выглядит следующим образом:

"language" => "javascript",
"source" => "function(value,keyData,arg){
   return []
 },
"keep"=>true

person Mridul Kashatria    schedule 30.09.2012    source источник


Ответы (1)


Я вижу, что на этот вопрос уже был дан ответ в нашем списке рассылки для вас, но я хотел, чтобы ответ был доступен и здесь, на SO:

Существует встроенная функция JS, которую можно использовать на этапе сокращения, чтобы исправить это; filterNotFound()

return  Riak.filterNotFound(your_object_passed_from_map_phase);
person Brian Roach    schedule 01.10.2012