2010-04-20 5 views
1

ID가 아닌 해당 필드를 기반으로 CouchDB에서 문서를 검색하려면 어떻게해야합니까?고유 한 필드를 기반으로 CouchDB에서 문서 검색

문제는 내 시스템의 문서에 숫자 ID가 있어야하므로 저장된 문서에 doc_id이라는 필드를 추가합니다. 기본 CouchDB ID는 너무 길다.

예를 들어 doc_id = 10 인 문서를 검색하려면 어떻게해야합니까?

답변

4

doc_id = 10 인 문서를 검색하려면 doc_id을 키로 사용하여보기를 만들어야합니다. Afair, doc_id의 고유성을 적용 할 수는 없습니다.

doc_id을 사용하는 대신 CouchDB의 _id 필드를 계속 사용할 수 있습니다. Iirc, 당신은 _id에 값을 할당하기 위해 CouchDB에 맡길 필요가 없습니다. CouchDB가 _id 필드에 사용하는 UUID가 마음에 들지 않으면 사용자가 지정한 _id으로 문서를 만들 수 있습니다.

특히주의해야합니다. 분산 설정에서. 서로 다른 노드 (다른 노드에서)가 동일한 _id 인 문서로 끝나면 CouchDB는 동일한 문서의 다른 버전으로 간주 할 수 있습니다.

+0

답변 주셔서 감사합니다 :) 내가 사용하고있는 커넥터는보기에 문제가있는 것 같지만 맞춤 ID로이 것을 시도 할 것입니다. –

+3

동일한 '_id' **를 가진 문서는 ** 같은 문서의 다른 버전입니다. – JasonSmith

+0

매력적이었습니다. 감사합니다 :) –

관련 문제