Я использую PouchDB 7.0.0 в проекте Ionic (Ionic 4.0.5).
В провайдере я определяю как локальную, так и удаленную базу данных:
@Injectable()
export class DatabaseProvider {
constructor() {
this.db = new PouchDB("mydb");
this.remote = new PouchDB("http://<my_server_running_couchdb>/<remote_db_name>")
}
Локальная база данных находится в браузере Chrome как экземпляр IndexedDB.Однако эта проблема также возникает в Firefox, поэтому не похоже, что виноват браузер.
Удаленная база данных изначально пуста и работает на CouchDB 2.1.2.Он уже был создан на моем сервере без настройки администратора или участника, поэтому он должен быть общедоступным и разрешать неаутентифицированные запросы.Кстати, CORS также включены.
В том же провайдере я также определяю метод, который запускает репликацию с локального БД на удаленный узел:
replicateLocalDBToRemote() {
console.log("Replicating database...");
this.db.replicate.to(this.remote).then(() => {
console.log("Celebrate");
}).catch(error => {
console.error(error)
})
}
И вотчто вызов replicateLocalDBToRemote
бросает в меня
CustomPouchError {__zone_symbol__currentTask: e, result: {…}}
result:
doc_write_failures: 0
docs_read: 0
docs_written: 0
end_time: "2018-11-21T16:23:36.974Z"
errors: []
last_seq: 0
ok: false
start_time: "2018-11-21T16:23:36.874Z"
status: "aborting"
, и я боюсь, я не могу назвать это самоочевидным сообщением.
Любое предположение о том, что может быть основной причиной
РЕДАКТИРОВАТЬ: После обхода репозитория PouchDB на github я обнаружил эту запись , которая может относиться к той же проблеме.