0

如果我在 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"
}

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

谢谢!

4

1 回答 1

3

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

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

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

于 2013-01-04T17:33:22.490 回答