문제

그룹 필드가있는 사용자 문서가 있습니다. 이 필드는 그룹 ID 배열입니다. 리턴 (groupId as Key) -> (VAL AS 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를 확인한 후 이에 대한 답은 전혀 줄일 필요가 없다는 것입니다. Key = GroupId를 제공합니다. 다음과 같은 것 :

http : // localhost : 5984/somedb/_design/bygroup/_view/all? key = 2

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top