来自CouchDB的修订信息

时间:2013-01-04 13:44:56

标签: couchdb

如果我在CouchDB上有一个包含多个修订版的文档,我可以要求提供这样的修订列表:

localhost:5984/documents/document_guid?revs_info=true

{
    _id: document_guid,
    _rev: "2-rev_guid_B",
    _revs_info: [ {rev: "2-rev_guid_B", status: "available"}, {rev: "1-rev_guid_A", status: "available"} ],
    etc: "stuff"
}

我可以通过以下请求申请先前的修订:

localhost:5984/documents/document_guid?rev=1-rev_guid_A

{
    _id: document_guid,
    _rev: "1-rev_guid_A",
    etc: "stuff in a previous life"
}

我原本希望能够同时做到这两件事,但它似乎不起作用!

localhost:5984/documents/document_guid?rev=1-rev_guid_A&revs_info=true

// I wanted

{
    _id: document_guid,
    _rev: "1-rev_guid_A",
    _revs_info: [ {rev: "2-rev_guid_B", status: "available"}, {rev: "1-rev_guid_A", status: "available"} ],
    etc: "stuff in a previous life"
}

// I get

{
    _id: document_guid,
    _rev: "1-rev_guid_A",
    etc: "stuff in a previous life"
}

有谁知道我想要的是否可能,如果有,我怎么做?

谢谢!

1 个答案:

答案 0 :(得分:3)

在CouchDB中,它被认为是尝试对修订系统使用其“修订版”的最常见错误之一。

“Revisions”计划重命名为“mvcc”以防止此错误。它们确实只能由复制器使用并检测并发更新。

如果您需要真正的修订版,则必须实施它们。