COUCHDB 예제

뷰 결과는 문서를 보관하는 구조와 마찬가지로 B 트리에 저장됩니다. 뷰 B-트리는 자체 파일에 저장되므로 고성능 CouchDB 사용을 위해 자신의 디스크에서 뷰를 유지할 수 있습니다. B-트리는 키별로 행을 매우 빠르게 조회할 뿐만 아니라 키 범위의 행을 효율적으로 스트리밍할 수 있습니다. 이 예제에서는 단일 보기가 “지난 주 블로그 게시물 을 모두 제공” 또는 “지난 달” 또는 “올해”와 같은 시간과 관련된 모든 질문에 답할 수 있습니다. 꽤 깔끔한. 클라이언트 응용 프로그램이 페이지 설정을 사용하여 결과 집합을 반복하는 방법의 예로 는 구슬 샘플에서 getQueryResultForQueryStringWithPagination 함수를 검색합니다. 인덱스에 모든 필드를 포함하지 않는 쿼리는 대신 전체 데이터베이스를 검사해야 합니다. 예를 들어 아래 쿼리는 소유한 항목의 유형을 지정하지 않고 소유자를 검색합니다. ownerIndexDoc 소유자 와 docType 필드를 모두 포함 하므로이 쿼리 인덱스를 사용할 수 없습니다.

세 가지는 예제를 위해 할 것입니다. 문서는 데이터베이스에 저장되는 방식인 “_id”로 정렬됩니다. 이제 뷰를 정의합니다. 우리는 당신에게 몇 가지 코드를 표시하는 동안 설명없이 우리와 함께 곰 : 이전 예제에서 쿼리에 대한 인수 뿐만 아니라, queryMarblesWithPagination 는 페이지 크기와 책갈피를 추가합니다. PageSize 쿼리당 반환할 레코드 수를 지정합니다. 책갈피는 페이지를 시작할 위치를 말하는 “앵커”입니다. (결과의 각 페이지는 고유한 책갈피를 반환합니다.) 예를 들어 아래 쿼리에는 tom이 소유한 모든 대리석과 모든 항목을 검색하는 $or 용어가 포함되어 있습니다. 이불은 실제로 couchDB와 상호 작용하기 위해 jQuery 플러그인을 사용하고 있습니다.

당신은 http://127.0.0.1:5984/_utils/script/jquery.couch.js 그 플러그인을 볼 수 있습니다 (마음에 포트가 다를 수 있습니다). 이것은 당신에게 CouchDB와 상호 작용의 좋은 예를 제공합니다. CouchDB에는 사용자 생성 및 인증이 적용되어 있습니다. $.couch.signup()를 사용하여 jQuery 플러그인으로 사용자를 만들 수 있습니다. 이들은 본질적으로 시스템의 사용자가 된다. 사용자는 다른 모든 것과 같은 JSON 문서일 뿐이므로 예를 들어 전자 메일과 같은 추가 속성을 저장할 수 있습니다. 그런 다음 CouchDB 내의 그룹을 사용하여 각 사용자가 쓰기 액세스 권한이 있는 문서를 제어할 수 있습니다.