我正在使用couchdb-python(http://code.google.com/p/couchdb-python/),我想知道我是否有办法检索完整列表 在文档级别上发生的修订?
假设我有一个名为“movies”的数据库,它包含多个文档。 我的每份文件都有3次以上的修改。
我可以根据修订版检索文档吗?
如果是,怎么样?我没有看到使用CouchDB-Python
做任何明显的方法答案 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。