Плагин allDbs с ионным 3 - PullRequest
       19

Плагин allDbs с ионным 3

0 голосов
/ 19 декабря 2018

Я хотел бы импортировать и использовать плагин allDbs pouchdb в Ionic для отображения всех моих таблиц базы данных.Это то, что я сделал после установки модуля узла с помощью этой команды (npm install pouchdb.all-dbs --save):

import dbsplugin from 'pouchdb-all-dbs';
console.dir(dbsplugin);



 constructor(public navCtrl: NavController,
               public http   : HttpClient)
   {  
        dbsplugin.allDbs().then(function (dbs) {

               }).catch(function (err) {
             // handle err
          });
   }

ошибка с плагином allDbs

1 Ответ

0 голосов
/ 19 декабря 2018

Следует понимать, что 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.Тем не менее, попробуйте и дайте мне знать, если это работает.

...