我有具有组字段用户文档。此字段是组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个

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top