oha*_*nho 4 mapreduce nosql couchbase
我是整个map-reduce概念的新手,我正在尝试执行一个简单的map-reduce功能.
我目前正在使用Couchbase服务器作为我的NoSQL数据库.
我想获得所有类型的列表:
key: 1, value: null
key: 2, value: null
key: 3, value: null
Run Code Online (Sandbox Code Playgroud)
这是我的文件:
{
"type": "1",
"value": "1"
}
{
"type": "2",
"value": "2"
}
{
"type": "3",
"value": "3"
}
{
"type": "1",
"value": "4"
}
Run Code Online (Sandbox Code Playgroud)
我一直想做的是:写一个地图功能:
function (doc, meta) {
emit(doc.type, 0);
}
Run Code Online (Sandbox Code Playgroud)
使用内置的reduce功能:
_count
Run Code Online (Sandbox Code Playgroud)
但我没有得到预期的结果.
我怎样才能获得所有类型?
UPDATE
请注意,类型是不同的文档,我知道reduce对文档起作用,不在文档之外执行.
默认情况下,它将减少所有密钥组.您想要的功能称为group_level:
这相当于 reduce=true
~ $ curl 'http://localhost:8092/so/_design/dev_test/_view/test?group_level=0'
{"rows":[
{"key":null,"value":4}
]
}
Run Code Online (Sandbox Code Playgroud)
但是这里是你如何通过密钥的第一级来减少
~ $ curl 'http://localhost:8092/so/_design/dev_test/_view/test?group_level=1'
{"rows":[
{"key":"1","value":2},
{"key":"2","value":1},
{"key":"3","value":1}
]
}
Run Code Online (Sandbox Code Playgroud)
还有关于此的博客文章:http://blog.couchbase.com/understanding-grouplevel-view-queries-compound-keys
couchbase管理控制台中有适当的选项:
