2014-01-23 2 views
2

мой уменьшить функцию Couchbase [только для тестирования]:Как получить доступ к значению json внутри функции уменьшения в couchbase?

function(keys,values,reduce){ 
return values[0]; 
} 

В результате здесь

{"rows":[ 
{"key":null,"value":{"doctype":"closed_auctions","buyer":"person14108"}} 
] 
} 

Я хотел бы получить индивидуальное значение внутри сократить для дальнейшего процесса, поэтому, когда я пытаюсь получить значение такого типа, как values[0].doctype, он возвращает null, хотя должно быть «closed_auctions». в чем проблема? Как я могу получить индивидуальное значение (я имею в виду значение поля) внутри функции уменьшения.

+2

Введите код карты функция здесь также. – user1697575

ответ

3

Функция сокращения, вызванная после выполнения карты. Также помните, что re-reduce также называется, и в то время ваш результат еще больше агрегируется. При запуске этого представления вы должны использовать «group = true».

Так, иногда значение [0] может не иметь документа

Вы должны проверить наличие недвижимости/документа первым, например,

function(keys, values, rereduce) 
{ 
    if (values[0] && values[0].doctype) 
    { 
    return values[0].doctype; 
    } 
} 

Надеюсь, что это поможет.

Смотрите также: 9.5.2.4. Writing Custom Reduce Functions

 Смежные вопросы

  • Нет связанных вопросов^_^