質問

私は、グループフィールドを持つユーザー文書を持っています。このフィールドには、グループ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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top