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\"
这样做成功了。
我是 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\"
这样做成功了。