Репликация pouchdb не завершена, просто застряла с ожидающими документами - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь выполнить отфильтрованную репликацию в моем приложении Ionic 3, но после прочтения некоторых документов оно застревает с ожидающими документами, и событие complete также не запускается. Это происходит, когда я собираю и запускаю приложение на мобильном телефоне.

Приложение, работающее с ionic serve, работает нормально.

App:

Ионная 3 PouchDB (6.4.3) с плагином cordova-sqlite (2.0.3) версия дивана: 2.1.2

Config

 PouchDB.plugin(require('pouchdb-find').default);
      PouchDB.plugin(cordovaSqlitePlugin);
      this.db = new PouchDB(gstin, {
        adapter: 'cordova-sqlite', location: 'default'
      });

Параметры репликации:

{
  filter: 'Generic/xxxxx',
  query_params: {
    id: xxx,
    deviceId: xxxx
  },
  batch_size: 10
}

Последняя смена консоли,

{
 ok: true,
 start_time: "2018-09-07T09:18:16.204Z",
 docs_read: 136,
 docs_written: 136,
 doc_write_failures: 0, …}
 doc_write_failures:0
 docs:(11) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
 docs_read:136
 docs_written:136
 errors:Array(0)
 length:0
  __proto__:Array(0)
 last_seq:"xxxxxx"
 ok:true
 pending:402
 start_time:"2018-09-07T09:18:16.204Z"
 __proto__:Object 

1 Ответ

0 голосов
/ 10 сентября 2018

При работе с PouchDb / CouchDb при обучении их совместному использованию указатели синхронизации могут оставаться в странном состоянии.

Могу ли я предложить вам поэкспериментировать с совершенно свежими экземплярами ваших баз данных?

Я счел необходимым создать сценарии CURL, чтобы полностью перестроить мои тестовые базы данных, прежде чем предпринимать какие-либо серьезные усилия, чтобы выяснить, почему что-то не работает.

Я полагаю, что здесь вы могли бы получить дополнительную помощь, если бы показали фильтр, который вы используете, и полный код команды репликации, а не только параметры.

Обновление : я также настоятельно рекомендую вам создать простой сервер CouchDb (или бесплатную базу данных Cloudant) и создать очень простое браузерное приложение со службой по умолчанию (а не cordova-sqlite) и проверить свои предположения о том, как работает репликация.

...