CouchDB汇总饼图数据
我的CouchDB数据库中有以下文档:-CouchDB汇总饼图数据,couchdb,Couchdb,我的CouchDB数据库中有以下文档:- { "_id": "c0d93b8f424037583b2fe71ea403044a", "name": "Joe", "country": "United Kingdom", "email": "joe@acme.com" } { "_id": "c0d93b8f424037583b2fe71ea403044d", "name": "Joe", "country": "United Kingdom", "
{
"_id": "c0d93b8f424037583b2fe71ea403044a",
"name": "Joe",
"country": "United Kingdom",
"email": "joe@acme.com"
}
{
"_id": "c0d93b8f424037583b2fe71ea403044d",
"name": "Joe",
"country": "United Kingdom",
"email": "joe@acme.com"
}
{
"_id": "c0d93b8f424037583b2fe71ea403044z",
"name": "Joe",
"country": "United Kingdom",
"email": "joe@acme.com"
}
{
"_id": "c0d93b8f424037583b2fe71ea403044x",
"name": "Fred",
"country": "France",
"email": "Fred@acme.com"
}
{
"_id": "c0d93b8f424037583b2fe71ea403044g",
"name": "Fred",
"country": "France",
"email": "Fred@acme.com"
}
{
"_id": "c0d93b8f424037583b2fe71ea403044p",
"name": "Bill",
"country": "Germany",
"email": "Bill@acme.com"
}
我想总结一下这些数据,这样我就可以根据国家生成一个饼图,但我正在努力计算map reduce代码,以获得各国的文档数量
有人能帮我解释一下吗
致以最良好的祝愿
卡尔斯基这很简单
你的地图功能只是将国家作为一个键,1作为一个值
功能(doc){
如果(文件国家){
排放(文件国家,1);
}
}
现在,reduce函数就是\u sum
函数
使用group\u level
参数将视图设置为1来查询视图
GET/db/_design/app/_view/bycountry?group_level=1`
你的结果应该是这样的
{
"rows": [
{"key": "France", "value": 2},
{"key": "Germany", "value": 1},
{"key": "United Kingdom", "value": 3}
]
}
这很简单
你的地图功能只是将国家作为一个键,1作为一个值
功能(doc){
如果(文件国家){
排放(文件国家,1);
}
}
现在,reduce函数就是\u sum
函数
使用group\u level
参数将视图设置为1来查询视图
GET/db/_design/app/_view/bycountry?group_level=1`
你的结果应该是这样的
{
"rows": [
{"key": "France", "value": 2},
{"key": "Germany", "value": 1},
{"key": "United Kingdom", "value": 3}
]
}
另外,如果您需要总计,只需调用相同的查询,除了使用
group=false
而不是group\u level
。您还可以使用group=true
而不是group\u level=1
,在这种情况下,这将执行完全相同的操作。这样,您只需在true
和false
之间切换group
。感谢您的及时回复。但是,当我尝试上面这样的查询时,它返回:{“error”:“query_parse_error”,“reason”:“对于非reduce视图,URL参数'group'或'group_level'无效。”}听起来好像您没有添加reduce函数。我在回答中添加了更多的信息。太棒了这就成功了。非常感谢你的帮助!另外,如果您需要总计,只需调用相同的查询,除了使用group=false
而不是group\u level
。您还可以使用group=true
而不是group\u level=1
,在这种情况下,这将执行完全相同的操作。这样,您只需在true
和false
之间切换group
。感谢您的及时回复。但是,当我尝试上面这样的查询时,它返回:{“error”:“query_parse_error”,“reason”:“对于非reduce视图,URL参数'group'或'group_level'无效。”}听起来好像您没有添加reduce函数。我在回答中添加了更多的信息。太棒了这就成功了。非常感谢你的帮助!