2013-03-18 3 views
1

У меня есть база данных дивана, которая содержит имя и поле страны, и я создал представление, которое возвращает количество в стране.Упорядочить по: Couchdb

функция Карта:

function(doc) { 
    emit(doc.country, 1); 
} 

Снижение функции:

function(keys, values, rereduce) { 
    return sum(values); 
} 

Проблема заключается в том, что мне нужно сделать "заказ", в этом случае, по подсчетам, по убыванию. Любая идея, как ее решить?

ответ

1

К сожалению, с vanilla couchdb вы не можете сортировать значение по функции уменьшения.

Cloudant, провайдер, размещенный на couchdb, предлагает «цепную карту уменьшения», которая решает эту проблему. См. http://examples.cloudant.com/sales/_design/sales/index.html

Вы можете сделать пару опций, один из них - ваши данные на облачной основе, или два реплицируют локальные данные на облачные, чтобы запросить ваш заказ.

Существует также это: https://github.com/afters/couch-incarnate, который, к сожалению, я не пробовал, но мог бы соответствовать тому, что вы пытаетесь сделать.

+0

Там также было это недавнее предложение CouchDB http://mail-archives.apache.org/mod_mbox/couchdb-dev/201301.mbox/%3CCACV2MxcybtnN_CrZsftw0iM9JNiLuqJs5QHaYZbh6efk0JHjyg%40mail.gmail.com%3E, но это только в обсуждении , –

+0

Спасибо за ваше время/ответ, я попробую!) –

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