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

I'm fiddling around with PouchDB at the moment. I use it as a way to store data locally without it being linked to CouchDB. What I've been trying to do is to create a revert/undo method for a single doc. For this I would like to use the previous revisions of the "doc". I came across the changes feed while reading the PouchDB documentation, which at first seems to be a way to get all the revisions of the all the "docs". However, after trying to get all the revisions of the "docs" I've only got the latest revision. I've tried the following to get the changes:

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

TL;DR how can I get all the revisions of a (or all) document(s) in PouchDB?

Answers:

Answer

With some help of macrog I've found a way to do what I wanted to do. Short summary I wanted a way to get all revisions of my documents, including the ones which had been removed. This is what I use now:

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

Granted I no loger use db.changes() to get all the revisions of a document. But at least I'm able to do what I wanted to do.

Answer

Try one of the options - this it's from pouchdb docs:

db.get(docId, [options], [callback])

Retrieves a document, specified by docId.

Options All options default to false unless otherwise specified.

options.rev: Fetch specific revision of a document. Defaults to winning revision (see the CouchDB guide).

options.revs: Include revision history of the document.

options.revs_info: Include a list of revisions of the document, and their availability.

options.open_revs: Fetch all leaf revisions if open_revs="all" or fetch all leaf revisions specified in open_revs array. Leaves will be returned in the same order as specified in input array.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.