2014-11-24 3 views
1

나는 couchbase 3.01부터 시작하고 있으며보기에 대한 질문이 있습니다. 필자가 읽은 문서에 따르면 전체 문서를 인덱스에 포함하면 저장 및 성능 모두에 부정적인 영향을 미칠 것이므로 이제 매핑 기능을 만들었으며 nullREST API를 사용하여 couchbase보기에서 문서 가져 오기

과 같이 표시했습니다.

function(doc, meta) { 
    if (doc.entity && doc.entity == 'desert') { 
    emit(doc.type, null); 
    } 
} 

이렇게하면 다양한 종류의 사막 (쿠키, 아이스크림, 케이크)에 대한 색인이 생성됩니다. 보기를 저장하고 관리 콘솔에서 '결과 표시'버튼을 클릭하면 관련 값이 null 인 모든 키가 표시됩니다.

예를 들어 문서를 포함하도록 매핑 기능을 변경 한 경우

function(doc, meta) { 
    if (doc.entity && doc.entity == 'desert') { 
    emit(doc.type, doc); 
    } 
} 

나는 예상 한 결과를 얻지 만, 나는 이것이 반 패턴이라고 우려한다. 거기에는 문서를 역 참조하는 쿼리 문자열 매개 변수 include_docs이있는 것 같지만 설명서에는 나타나지 않습니다. 생성 한 색인에 전체 문서를 포함해야합니까? 그렇지 않은 경우 어떻게 키로 문서를 검색합니까?

답변

2

패턴은 전체 DOC가 포함되지 않은 뷰로 정의됩니다. 그런 다음 include_docs 플래그를 설정하여 (필요에 따라) 애플리케이션 플랫폼 (Java, Python, Node.js, .NET 등)에 특정한 Couchbase 클라이언트 라이브러리를 사용하여보기에서 문서에 액세스 할 수 있습니다.

REST API는 서버에 데이터을 읽거나 쓰는 데 사용하면 안됩니다. 예를 들어, set 및 get과 같은 데이터 조작은 Couchbase SDKs에 의해 처리됩니다.

+0

나는 내 질문에 더 분명해 졌을 것이다. 나는 개발을하는 동안 브라우저를 통해 뷰 내용을 볼 수있는 방법을 찾고있다. 내 응용 프로그램에서 SDK를 사용할 계획입니다. – Jason

+0

아, 개발자 목적으로 반환 된 문서가있는보기를 정의 할 수 있습니다. 프로덕션 용으로 권장되지 않습니다. 또한 CB 웹 콘솔보기 내용 창에는 클릭하여 새 창에서 열 수있는 URL이 표시됩니다. – user1697575

관련 문제