previous question에 대한 훌륭한 답을 토대로 CouchDB에서 내가 겪고있는 문제를 부분적으로 해결했습니다.CouchDB Views : 중복 된 * 및 * 시간순으로 정리하십시오.
이 결과는 a new view입니다.
자, 다음으로해야 할 일은이보기에서 중복을 제거하는 것입니다. 날짜순으로 정렬하십시오.
GET http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following?endkey=[%22c988a29740241c7d20fc7974be05ec54%22]&startkey=[%22c988a29740241c7d20fc7974be05ec54%22,{}]&descending=true&limit=3
이 결과 :
HTTP 200 http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following
http://scoates-test.couchone.com > $_.json.rows
[ { id: 'c988a29740241c7d20fc7974be067295'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T17:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be062ee8'
, owner: 'c988a29740241c7d20fc7974be05f67d'
}
}
, { id: 'c988a29740241c7d20fc7974be068278'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T15:00:00.000Z'
, 'durian'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be065115'
, owner: 'c988a29740241c7d20fc7974be060bb4'
}
}
, { id: 'c988a29740241c7d20fc7974be068026'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T14:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be063b6d'
, owner: 'c988a29740241c7d20fc7974be05ff71'
}
}
]
당신이 볼 수 있듯이이 "클레멘 타인은"두 번 나타
예를 들어, 여기에 내가 해당 뷰를 쿼리하는 방법입니다.
두 번째 키 (시간 대신)로 과일/자산 이름을 표시하도록보기를 변경하면 그룹화 깊이를 변경하여 축소 할 수 있지만 주문 별 요구 사항은 해결되지 않습니다. . 마찬가지로 위의 설정을 사용하면 시간별로 정렬 할 수 있지만 중복 된 애셋 이름을 단일 행으로 접을 수는 없습니다 (예 : 페이지 당 애셋을 10 개 허용).
불행히도, 이것은 설명 할 간단한 질문이 아닙니다. 어쩌면 this chat transcript 조금 도움이됩니다.
도와주세요. 내가해야 할 일은 여전히 가능하지 않다.
S
안녕하세요. 나는 당신의 감축을 시도했고, 나는 그것이 내 문제를 해결했다고 생각하지 않는다 : http : // scoates-test.couchone.com/_utils/database.html?follow/_design/asset/_view/by_userid_following_reduce (줄이기에도 불구하고 "c988a29740241c7d20fc7974be060bb4"에 대해 두 번 "바나나"가 표시됨). 잘못 구현 했습니까? – scoates
죄송합니다. 첫 번째 예가 잘못되었습니다. 중복 된 값에 대해서만 작동합니다. 키의 경우 목록을 사용해야합니다. 예제를 변경했습니다. 그것이 당신의 문제를 해결하기를 바랍니다. – Nek
와우. 나는이 _list 함수가 존재하는지 전혀 몰랐다. 나는 이것을 시도하고 다시 돌아와서 그것이 나의 필요를 충족 시킨다면 받아 들일 것이다. (그러나 그것은이 시점에서 그 것처럼 보인다.) 감사! – scoates