[英]Replicate data from CouchDB to PouchDB for offline storage on windows 7 using google Chrome V22
[英]Fail to replicate a local IndexedDB to a remote CouchDB using PouchDB
我在Ionic項目(Ionic 4.0.5)中使用PouchDB 7.0.0。
在提供程序中,我同時定義了本地和遠程數據庫:
@Injectable()
export class DatabaseProvider {
constructor() {
this.db = new PouchDB("mydb");
this.remote = new PouchDB("http://<my_server_running_couchdb>/<remote_db_name>")
}
本地數據庫作為IndexedDB實例存在於Chrome瀏覽器中。 但是,該問題也出現在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"
恐怕我不能稱其為不言自明的信息。
您對問題的根本原因有何猜測?
編輯:在github上通過PouchDB存儲庫進行爬網之后,我發現此條目可能涉及相同的問題。
我通過允許遠程CouchDB服務器上的端口5984進行通信來解決了該問題。
事實是,在端口80上發送請求(即GET http://<my_server>.com/mydb
) 確實會發回一些數據,所以我一開始就從不費心嘗試使用端口5984,因為我認為API也已實現在端口80上...
因此,至少我的問題與PouchDB沒有關系,但我希望錯誤消息更加具體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.