CouchDB 关键参数错误

Key Parameter Error in 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}
]}

谁能告诉我,为什么我使用关键参数的查询不起作用。

看起来你的 reduce 函数不是 运行,这是我查询它时从 simplemap 得到的结果:

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

reduce 结果应该只有 return 一个值,除非您使用 group 参数调用它。所以不知何故你没有做减少,你不能使用 group=true 用于未减少的视图。

ps:如果你想对值求和,使用内置的 _sum 函数,它比你自己写的任何东西都快得多。

在搜索和阅读几个链接后,我发现由于键是字符串值,因此必须给出

key=\"Kruti\"

这样做成功了。