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 では、その「リビジョン」をリビジョン システムに使用しようとすることが、最も一般的なエラーの 1 つと見なされています。

このエラーを防ぐために、「リビジョン」は「mvcc」に名前を変更する予定です。それらは実際には、レプリケーターによってのみ使用され、同時更新を検出する必要があります。

実際の改訂が必要な場合は、それらを実装する必要があります。

于 2013-01-04T17:33:22.490 に答える