PouchDB allDbs() plugin
This plugin exposes the
PouchDB.allDbs() function, which you can use to list all local databases. It works by listening for
PouchDB.on('destroyed') events, and maintaining a separate database to store the names of those databases.
allDbs() used to be part of PouchDB core (enabled using
PouchDB.enableAllDbs = true). It was deprecated in PouchDB 2.0.0, and now lives on as a plugin.
In the browser
To use this plugin, include it after
pouchdb.js in your HTML page:
This plugin is also available from Bower:
bower install pouchdb-all-dbs
Merely including it as a script tag will work, assuming you also used a script tag for PouchDB.
First, npm install it:
npm install pouchdb-all-dbs
And then do this:
var PouchDB = ;PouchDB;
Returns a list of all non-deleted databases. Example usage as a promise:
Or if you like callbacks, you can use that style instead:
Destroys the separate allDbs database. You should never need to call this function; I just use it for the unit tests.
npm install npm run build
This will run the tests in Node using LevelDB:
You can also check for 100% code coverage using:
npm run coverage
If you have mocha installed globally you can run single test with:
TEST_DB=local mocha --reporter spec --grep search_phrase
TEST_DB environment variable specifies the database that PouchDB should use (see
In the browser
npm run dev and then point your favorite browser to http://127.0.0.1:8001/test/index.html.
The query param
?grep=mysearch will search for tests matching
Automated browser tests
You can run e.g.
CLIENT=selenium:firefox npm test CLIENT=selenium:phantomjs npm test
This will run the tests automatically and the process will exit with a 0 or a 1 when it's done. Firefox uses IndexedDB, and PhantomJS uses WebSQL.