使用CouchDB-Python获取文档级别的完整修订列表?

时间:2011-02-11 07:01:09

标签: python couchdb

我正在使用couchdb-python(http://code.google.com/p/couchdb-python/),我想知道我是否有办法检索完整列表 在文档级别上发生的修订?

假设我有一个名为“movies”的数据库,它包含多个文档。 我的每份文件都有3次以上的修改。

我可以根据修订版检索文档吗?

如果是,怎么样?我没有看到使用CouchDB-Python

做任何明显的方法

2 个答案:

答案 0 :(得分:12)

我不确定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' } ] }

答案 1 :(得分:2)

Database.revisions方法可能是您想要的,http://code.google.com/p/couchdb-python/source/browse/couchdb/client.py#545