문제

조회가 요청되면 마지막으로 요청 된 이래 추가 된 문서에서만 "지도"가 실행된다고 생각하는 곳은 어딘가에 읽었습니다. 이것은 어떻게 결정됩니까? 나는 시퀀스 번호에 대해 뭔가를 본다고 생각했다. 이것이 당신이 얻을 수있는 것입니까? _rev 필드에서 uuid의 일부가 아닌가?

전체보기의 'recalc'를 강요하는 방법 (모든 레코드에서)?

도움이 되었습니까?

해결책

보기 인덱스에 관한 섹션 기술 개요 이것에 대한 훌륭한 가이드입니다.

View Builder는 데이터베이스 시퀀스 ID를 사용하여 뷰 그룹이 데이터베이스와 완전히 최신인지 확인합니다. 그렇지 않은 경우 View Engine은 마지막 새로 고침 이후 변경된 모든 데이터베이스 문서 (포장 된 순차적 순서)를 검사합니다. 문서는 디스크 파일에서 발생하는 순서대로 읽히고 디스크 헤드의 주파수 및 비용을 줄입니다.
문서를 검토 한대로, 이전 행 값은 존재하는 경우 뷰 인덱스에서 제거됩니다. 뷰 함수에 의해 문서가 선택되면 기능 결과는보기에 새 행으로 삽입됩니다.

CouchDB는 먼저 확인하기 위해 확인합니다 아무것 시퀀스 ID를 사용하여 전체 데이터베이스에서 변경되었습니다 (데이터베이스의 문서가 변경 될 때마다 업데이트됩니다). 무언가가 변경되면 해당 문서를 찾고 맵 함수를 실행합니다.

문서를 수정함에 따라 뷰가 점차 새로 고침되기 때문에 뷰를 재건/재생할 필요가 없습니다 (뷰를 사용할 때까지보기를 업데이트하지 않음). 모자가 한 가지 방법 (그리고 더 나은 방법이 있다고 확신합니다)을 사용하면보기를 설명하는 설계 문서를 제거하고 디자인 문서가 일반 문서와 다르지 않기 때문에 다시 삽입하는 것입니다.

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