2009-07-02 19 views
0

グループフィールドを持つユーザー文書があります。このフィールドはグループIDの配列です。私は(キーとしてgroupid) - >(valとしてユーザーのドキュメントの配列)を返すビューを記述したいと思います。このマッピング操作は良い開始のようです。CouchDB-基本的なグループ化の質問

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を実行していますよ。どんな助けもありがたい。

答えて