Следует понимать, что PouchDB спроектирован как центральное ядро, дополненное плагинами.Плагины не могут быть использованы сами по себе.Они должны быть подключены к PouchDB, а затем использованы от до PouchDB.
Итак, для использования плагина pouchdb-find
необходимо:
import PouchDB from 'pouchdb';
import finder from 'pouchdb-find';
PouchDB.plugin(finder);
const dbLocal = new PouchDB('myDb');
dbLocal.find({ selector: { name: 'mario' } })
.then(rslt) => { /* do stuff */ });
В случае allDbs
, нет смысла запускать его в одной базе данных, как это нужно для pouchdb-find
, поэтому allDbs
является методом класса, а не методом экземпляра.
Это означает, я полагаюто, что вы можете пропустить создание экземпляра и вызвать его непосредственно из пакета, как это:
import PouchDB from 'pouchdb';
import finder from 'pouchdb-find';
import dbsplugin from 'pouchdb-all-dbs';
PouchDB.plugin(finder);
PouchDB.plugin(dbsplugin);
PouchDB.allDbs().then((dbs) => {
// dbs is an array of strings, e.g. ['mydb1', 'mydb2']
}).catch(function (err) {
// handle err
});
Я говорю «я верю», потому что я не использовал pouchdb-all-dbs
.Тем не менее, попробуйте и дайте мне знать, если это работает.