CouchDB中的关键参数错误

时间:2015-09-28 21:20:22

标签: json curl couchdb

我是couchdb的新手。我写了一个简单的mapreduce视图。

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}
]}

任何人都可以告诉我,为什么我的查询带有关键参数不起作用。

2 个答案:

答案 0 :(得分:0)

看起来你的reduce函数没有运行,这是我在查询时simplemap得到的结果:

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

除非使用group参数调用,否则reduce结果应返回一个值。所以你不知道你没有做减少,你不能使用group=true来减少未减少的视图。

ps:如果你想使用内置的_sum函数对值进行求和,它比你自己编写的所有内容快得多。

答案 1 :(得分:0)

搜索并阅读几个链接后,我发现当键是字符串值时,必须将其作为

给出
key=\"Kruti\"

通过这样做,它起作用了。