앞으로 사이트에서 CouchDB를 사용할 것을 고려하고 있습니다 만, 사이트에 대한 사용자 등급 시스템을 구현하는 방법에 대해서는 약간 혼란 스럽습니다. 기본적으로 콘텐츠의 각 항목은 지정된 사용자가 평가할 수 있습니다. 이렇게하면 CouchDB 모델에서 어떤 의미가 있습니까? DRYest와 가장 논리적 인 방법은 Content, Users 및 이와 유사한 user_rating doc의 3 가지 문서 유형을 갖는 것이라고 생각합니다. 맵이이 등급의 평균을 집계 줄일 모든 내용 문서의 설정 및 콘텐츠 문서 ID에 의해 키가 user_rating 문서, 그리고이었고 키가 내용의 문서를 반환 곳CouchDB에서 사용자 등급/즐겨 찾기 구현하기
{ user_id: "USERID" content_id: "CONTENTID" rating: 6 }
다음, 나는보기를 만들 것 내용 별 문서 ID.
이렇게하는 것이 가장 좋은 방법입니까? CouchDB 베스트 프랙티스에 관해서는 아직 많은 리소스를 찾지 못했기 때문에이 모든 것들을 잘 모릅니다.
내 결론 : 아래에 허용 된 대답은 구현할 것입니다. 그러나 조심해야합니다. 다른 문서 속성을 기반으로하는 고급 쿼리를 어렵게하는 콘텐츠 ID로 문서를 작성해야합니다. 나는이 응용 프로그램에서 내 필요에 대한 SQL로 돌아갈거야.
두 가지 : 본인 등급 유형은 필요하지 않습니다. (doc.user_id && doc.content_id && doc.rating) emit (doc.content_id, doc.rating) 보기에 액세스 할 때 group = true를 지정해야합니다. –