2013-07-09 3 views
0

Я хотел бы создать операцию отображения карты/уменьшения по результатам просмотра. Можно ли это сделать в couchbase?Возможно ли создать представление вида в couchbase?

Или то же самое, как вы переводите команду HAVING SQL на couchbase.

Например, в представлении «by_location» в ковре beer_sample я хотел бы создать представление с ключом [count, country], чтобы я мог спросить, в каких странах есть 1 пивоваренный завод или есть более 4 пивоваренных заводов.

+0

Я нашел это: http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-sample-patterns- sortreduce.html, поэтому couchbase не помогает. Единственное решение, похоже, является своего рода полным просмотром от клиента. – jbaylina

ответ

1

С уменьшением карты Couchbase счет должен будет исходить из функции уменьшения и, следовательно, не может быть частью ключа индекса. Поскольку могут запрашиваться только ключи, невозможно эмулировать наличие непосредственно через представление.

Если у вас есть вложенные документы (т. Е. Массив пивоваренных заводов внутри страны), вы можете достичь чего-то близкого к тому, что хотите. Но опять же, с отдельными документами, счет должен исходить от сокращения.

+0

Поддержание документа избыточности для каждой страны может быть решением, но я предполагал, что есть родной или более элегантный способ. – jbaylina

0

Я подумал об этом сам момент несколько раз. Таким образом, я вижу сценарий, в котором по запросу запроса может выводиться какая-то значимая информация без функции сокращения, но по-прежнему разрешено довольно небольшое подмножество данных. Затем это можно было бы использовать в качестве ввода в новый ведро внешним процессом, который запрашивает исходное представление, а затем устанавливает новые ключи в ведро с результатами представления. Можно создать представление о том, что эти ключи должны получить дополнительную информацию о представлении. В качестве альтернативы можно было бы создать собственную функцию сокращения.

Один пост на эту тему здесь:

Couchbase custom reduce function

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