我现在正在摆弄PouchDB。我使用它作为一种在本地存储数据的方式,而不将其链接到CouchDB。我一直在尝试做的是为单个文档创建一个恢复/撤消方法。为此,我想使用先前的" 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中获取(或所有)文档的所有修订版?
答案 0 :(得分:2)
在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()来获取文档的所有修订版。但至少我能够做我想做的事。
答案 1 :(得分:0)
尝试其中一个选项 - 来自pouchdb docs:
db.get(docId, [options] ,[callback])
检索由docId指定的文档。
选项 除非另有说明,否则所有选项都默认为false。
options.rev :获取文档的特定修订版。默认为获胜修订版(参见CouchDB指南)。
options.revs :包含文档的修订历史记录。
options.revs_info :包含文档的修订列表及其可用性。
options.open_revs :如果open_revs =" all"则获取所有叶子修订版本。或获取open_revs数组中指定的所有叶修订。叶子将以与输入数组中指定的顺序相同的顺序返回。