题
我有具有组字段用户文档。此字段是组ID的数组。我想编写返回的图(组识别符号作为键) - >(用户文档的阵列VAL)。该映射操作似乎是一个好的开端。
function(doc)
{
var type = doc.type;
var groups = doc.groups;
if(type == "user" && groups.length > 0)
{
for(var i = 0; i < groups.length; i++)
{
emit(groups[i], doc);
}
}
}
但显然一些非常错误的我试图在减少:
function(key, values, rereduce)
{
var set = [];
var seen = [];
for(var i = 0; i < values.length; i++)
{
var _id = values[i]._id;
if(seen.indexOf(_id) == -1)
{
seen.push(_id);
set.push(values[i]);
}
}
return set;
}
我跑的CouchDB 0.10dev。任何帮助理解。
解决方案
在CouchDB的IRC检查后,这个问题的答案是,你并不需要减少对这个在所有。只是提供密钥=的groupId,类似如下:
HTTP://本地主机:5984 / somedb / _design / bygroup / _view /所有?键= 2个
不隶属于 StackOverflow