2013-10-14 3 views
0

Для запросов к базе данных кушетка дб вы можете отправить запрос HTTP GET в стиледоступа кушетка DB: s Параметры запроса программно

хоста: 5984/дб/_design/some_view/_view/view1 ключ = "Foo "

чтобы сделать простой вид имени view1 к ней я мог бы создать карту

function(doc){ 
    emit(doc.bar,doc); 
} 

Это будет производить список пар ключ-значение, где doc.bar является ключевым и док является значением. В этом случае это подмножество db, где doc.bar = "foo"

Кажется, что функция emit сравнивает свой параметр с параметром ключа, переданным с запросом URL.

Как я могу получить значение ключа из URL-адреса и выполнять проверки перед его передачей для испускания?

ответ

1

MapReduce не работает.

В каждом запросе для каждого объекта не отображаются функции (и уменьшения). Они вызываются для каждого обновленного объекта (во время запроса).

Это означает, что до тех пор, пока «документ» (aka object) не изменяется, испускаемые ключи и значения сохраняются в индексе. Управление кешем - вот почему MapReduce настолько эффективен.

Другими словами, подумайте об индексе не как результат запроса, а как о ожидании всех возможных результатов.

Объяснение далее MapReduce в текстовом поле практически невозможно: я рекомендую вам следить за учебниками и видео.

В то время как вы поняли основы MapReduce, вы узнаете, как query the index с CouchDB (с key или startkey и endkey), и как format the response (с пользовательскими параметрами, если вы нуждаетесь в них).

+0

Вы правы. И я узнал об этом из источника, который вы опубликовали. Эта книга в паре с официальной вики - лучший ресурс для изучения Couch, который я нашел до сих пор. –

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