2016-08-12 3 views
0

couchDB 데이터베이스에 단일 디자인 문서가있는 couchDB 데이터베이스가 있습니다. 어떤 이유로 디자인 문서가 다른 모든 레코드/문서의 끝에 있지 않습니다. 이것은 일반적으로 _all_docs에 대한 질문을하고 마지막 결과 (디자인 문서 여야 함)를 제거 할 때 발생합니다.couchDB 디자인 문서가 다른 모든 문서의 끝에 없습니다

endkey = '_'를 사용하여 디자인 문서를 반환하지 않을 때도 마찬가지입니다.

또 다른 이상한 점은 디자인 문서를 모두 삭제하고 endkey = '_'로 쿼리하면 결과가 절반으로 끝나는 것입니다. 그리고 그것이 끝나는 기록은 디자인 문서가 삭제되기 전에 앉아있는 곳에서 충분히 재미 있습니다.

어떤 아이디어 ???

답변

1

디자인 문서가 항상보기 결과의 마지막 행이라는 가정은 잘못되었습니다.

모든보기가 키별로 정렬되며 _all_docs는보기로 doc._id를 키로 사용합니다.

코드는 우연히 과거에 작동했을 것입니다. 아마 당신은 이전에 숫자로 시작하는 ID를 가진 문서 만 가지고 있었고 이제는 처음에 문자가있는 문서가 있습니다. ("_design/foo"와 같은 밑줄은 알파벳 뒤에 알파벳과 알파벳 "a"앞에옵니다.)

+0

나는 그게 간단했다. 내 모든 ID는 couchDB에 의해 자동 생성되므로 모든 숫자 또는 문자입니다. 이것은 약 10 개의 레코드 만있는 테스트 DB입니다. 그들은 모두 숫자 나 문자로 시작하며 하나의 단일 디자인 문서가 있습니다. 이 문서들 중 하나는 어떤 이유로 엉망입니다. 그 이유는 디자인 문서를 삭제하고 endkey = _를 사용하여 쿼리 한 후 10 개의 문서 중 처음 4 개를 반환하기 때문입니다. 다시 모든 ID에는 '_'이 없습니다. – GifCo

+0

시작 및 종료 키없이 _all_docs를 쿼리하면 데이터베이스의 모든 문서가 표시됩니다. 나는 6 명의 문서가 편지로 시작하는 ID를 가지고 있다고 생각한다. 그것은 설명 할 것입니다, 당신이 endkey를 위해 밑줄 ("_")을 사용할 때 당신은 단지 4 개의 도큐먼트 (숫자로 시작하는 ID를 갖는 모든 것)만을 볼 수 있습니다. – pwagner

+0

오우는 밑줄이 couchDB 주문 방식의 숫자보다 높은 순위입니까? – GifCo

관련 문제