J'ai un document utilisateur qui a un champ de groupe. Ce champ est un tableau d'identifiants de groupe. Je voudrais écrire une vue qui renvoie (groupid comme clé) -> (tableau de documents utilisateur comme val). Cette opération de cartographie semble être un bon début.CouchDB- question de groupe de base
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);
}
}
}
Mais il y a évidemment quelque chose de très mal avec ma tentative de réduire:
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;
}
Je suis en cours d'exécution CouchDB 0.10dev. Toute aide appréciée.