Как ключи и ключевые фильтры следует использовать в Couchbase для фильтрации результатов просмотра?

У меня проблема с ключом и параметром фильтра ключей в Couchbase (версия: 3.0.0 Enterprise Edition) в веб-консоли. Какое бы значение я ни установил в этих параметрах, запись не возвращается.

Документы выглядят так:

{
   "folder": "F3",
   "ccy": "USD",
   "pnl": 789700,
   "maturity": "4424-10-16 00:00 AM CEST",
   "source": "BackOffice1",
   "npv": 341684,
   "symbolic_id": 880888,
   "bpv": 374000,
   "cpty": "CPTY2"
}

Функция карты:

function (doc, meta) {

 emit([doc.source,doc.cpty], doc.npv); 

}

Уменьшить — это встроенная функция

_count

Я предполагаю, что у меня должна быть возможность получить все документы с ключом ["BackOffice1","CPTY2"] путем установки параметра ключа в строке запроса ?key=["BackOffice1","CPTY2"]&reduce=true&group=true. Но ничего не возвращается.

Я могу что-то упустить в том, как мы должны использовать ключ и параметры ключей.

Для сведения, startkey и endkey работают как положено.

Что-то не так с моим подходом?


person Hieroglyphe    schedule 22.10.2014    source источник
comment
У вас есть сокращение = истина и группа = истина. Какова ваша функция сокращения?   -  person theMayer    schedule 22.10.2014
comment
Функция уменьшения — это встроенная функция _count.   -  person Hieroglyphe    schedule 22.10.2014


Ответы (2)


Вы должны добавить

keys=["BackOffice1","CPTY2"]

как параметр.

person Arun M R Nair    schedule 31.10.2014
comment
Это не работает. Если я устанавливаю параметр group_level и group, приложение жалуется, что они несовместимы. Если я устанавливаю только уровень группы, приложение жалуется, что группа является обязательной для уменьшения представления. (сообщение: многоключевые выборки для уменьшения представления должны включать «группу = истина») - person Hieroglyphe; 03.11.2014

Я понял, в чем проблема с ключевым параметром. В Couchbase версии 3.0.0 нам нужно добавить параметр inclusive_end=true, чтобы получить результаты.

Глядя на ошибки Couchbase, похоже, что это не требовалось в предыдущих версиях и что оно будет возвращено в следующей версии, см. https://www.couchbase.com/issues/browse/MB-12378..

После просмотра примеров в документации Couchbase я обнаружил, что параметр keys используется неправильно. Чтобы запросить представление с массивом в качестве ключа, параметр keys должен быть отформатирован следующим образом: keys=[["value1",value2"],["value3",value2"]].

Если я применю это к примеру, который я предоставил в своем вопросе, запрос будет выглядеть так: ?keys=[["BackOffice1","CPTY2"]] или key=["BackOffice1","CPTY2"]

Спасибо

person Hieroglyphe    schedule 03.11.2014