2011-02-11 4 views
7

나는 couchdb-python (http://code.google.com/p/couchdb-python/)을 작업하고 있었고 문서 레벨에서 발생한 개정판의 전체 목록 을 검색 할 수 있는지 궁금합니다.CouchDB-Python을 사용하여 문서 수준의 전체 버전 목록을 얻으시겠습니까?

"영화"라는 데이터베이스가 있고 여러 개의 문서가 있다고 가정합니다. 각 문서에 3 개 이상의 개정판이 있습니다.

수정본을 기반으로 문서를 검색 할 수 있습니까?

그렇다면 어떻게됩니까? CouchDB-Python을 사용하여 분명한 방법을 찾지 못했습니다.

답변

7

couchdb-python에 대해 잘 모르겠지만 HTTP API를 통해 문서의 알려진 개정 내역 전체를 가져올 수 있습니다.

CouchDB Document API 설명서에 대해 자세히 알아보십시오.

정상적인 쿼리

$ curl jhs.couchone.com/db/doc 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de' } 

오래된 버전의 배열을 볼 수 ?revs=true를 추가합니다.

$ curl jhs.couchone.com/db/doc?revs=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revisions: 
    { start: 3, 
    ids: 
     [ '825cb35de44c433bfb2df415563a19de', 
     '7051cbe5c8faecd085a3fa619e6e6337', 
     '967a00dff5e02add41819138abb3284d' ] } } 

또한 당신은 그들이 계속 사용할 수 있습니다할지 여부 등의 개정에 대한 자세한 내용 (즉, 그들이 마지막 압축 이후에 추가하고 당신이 그들을 가져올 수)에 대한 ?revs_info=true를 추가 할 수 있습니다.

$ curl jhs.couchone.com/db/doc?revs_info=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revs_info: 
    [ { rev: '3-825cb35de44c433bfb2df415563a19de', 
     status: 'available' }, 
    { rev: '2-7051cbe5c8faecd085a3fa619e6e6337', 
     status: 'available' }, 
    { rev: '1-967a00dff5e02add41819138abb3284d', 
     status: 'available' } ] } 
+0

안녕하십니까. 회신 해 주셔서 감사합니다. 업데이트 내역을 기반으로 문서를 검색 할 수 있습니까? 예를 들어, ID가 132 인 문서, 개정 3? – DjangoRocks

+0

'? revs_info = true'를 보여준 마지막 방법을 사용하면 어떤 리비전을 검색 할 수 있는지 확인할 수 있습니다. 그들은'status : 'available'을 보여줄 것입니다. 그러나 CouchDB는 항상 압축되어 있으므로 데이터가 있다고 가정 할 수는 없습니다. – JasonSmith

관련 문제