使用更改提要时,有没有办法在 PouchDB 中获取文档的所有修订?

Is there a way to get all revisions of a document in PouchDB when using the change feed?

我现在正在摆弄 PouchDB。我用它作为一种在本地存储数据而不链接到 CouchDB 的方法。我一直试图做的是为单个文档创建一个 revert/undo 方法。为此我想使用以前的修订版"doc"。我在阅读 PouchDB 文档时遇到了更改提要,起初这似乎是一种获取所有 "docs" 所有修订的方法。但是,在尝试获取 "docs" 的所有修订后,我只得到了最新的修订。我尝试了以下方法来获得更改:

db.changes({
    since: 0,
    style: 'all_docs',
    include_docs: true // eslint-disable-line camelcase
  }).then(function(results) {
    console.log(results);
  }); 

TL;DR 如何在 PouchDB 中获取一个(或所有)文档的所有修订版?

尝试其中一个选项 - 这是来自 pouchdb docs:

db.get(docId, [选项], [回调])

检索由 docId 指定的文档。

选项 除非另有说明,否则所有选项默认为 false。

options.rev:获取文档的特定修订版。默认为获胜版本(参见 CouchDB 指南)。

options.revs: 包括文档的修订历史。

options.revs_info:包括文档的修订列表及其可用性。

options.open_revs:如果 open_revs="all" 则获取所有叶修订或获取 open_revs 数组中指定的所有叶修订。叶子将按照输入数组中指定的相同顺序返回。

macrog 的帮助下,我找到了一种方法来完成我想做的事情。简短总结 我想要一种方法来获取我文档的所有修订,包括那些已被删除的文档。这是我现在使用的:

db.get(String(id), {
    revs: true, 
    open_revs: 'all' // this allows me to also get the removed "docs"
  }).then(function(found) {
    console.log(found);
  });

当然,我没有登录者使用 db.changes() 来获取文档的所有修订。但至少我可以做我想做的事