2015-09-28 2 views
0

Я новичок в couchdb. Я написал простое представление mapreduce.Ключевой параметр Ошибка в CouchDB

simplemap: 
{ 
    "map":"function(doc) { emit(doc.name, doc.marks); }", 
    "reduce": "function(keys,values) { return sum(values);}" 
} 

Я выполнил его с помощью следующей команды:

curl http://localhost:5984/student/_design/student1/_view/simplemap 

Запрос выполняется. Однако, когда я выполняю команду ниже, я получаю сообщение об ошибке.

curl http://localhost:5984/student/_design/student1/_view/simplemap?key="Kruti"&group=true 

Наша карта излучает следующие значения.

{"total_rows":6,"offset":0,"rows":[ 
{"id":"2c1e1641694b8eeed8f88088ea0033b0","key":"Charupriya","value":90}, 
{"id":"d763d3f8d41aff068eb2bff9470007a7","key":"Charupriya","value":94}, 
{"id":"2c1e1641694b8eeed8f88088ea002556","key":"Kruti","value":96}, 
{"id":"d763d3f8d41aff068eb2bff94700037d","key":"Kruti","value":92}, 
{"id":"2c1e1641694b8eeed8f88088ea002be9","key":"Neha","value":98}, 
{"id":"d763d3f8d41aff068eb2bff94700053b","key":"Neha","value":98} 
]} 

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

ответ

0

После поиска и чтения несколько ссылок, я обнаружил, что в качестве ключа значение строки она должна быть задана как

key=\"Kruti\" 

Делая это, он работал.

0

Похоже, ваш уменьшить функция не работает, вот что я получаю в результате из simplemap, когда я запрашиваю его:

{"rows":[ 
{"key":null,"value":235} 
]} 

свертка результат должен просто возвращать одно значение, если не называть его с параметром group. Так почему-то вы не делаете сокращение, и вы не можете использовать group=true для не уменьшенных видов.

ps: Если вы хотите, чтобы сумма значений использовала встроенную функцию _sum, она намного быстрее, чем все, что вы можете написать сами.

+0

Я думаю, что сокращение работает. Следовательно, в качестве вывода указывается только одна пара значений ключа. Ошибка была вызвана ключевым параметром. Поскольку ключ является строковым значением, он должен быть указан в следующем формате: key = \ "Kruti \", и он сработал. –

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