質問
私は、グループフィールドを持つユーザー文書を持っています。このフィールドには、グループIDの配列です。 >(ヴァルなど、ユーザーのドキュメントの配列) - 私は(キーとgroupidを)返すビューを書きたいと思います。このマッピング操作は、良いスタートのように思える。
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:// localhostを:5984 / somedb / _design / bygroup / _VIEW /すべての?キー= 2 の
所属していません StackOverflow