[英]How to replicate from CouchDB to PouchDB?
我已經建立了一個本地CouchDB數據庫,我想將它復制到PouchDB數據庫,在localhost上運行的網頁中使用JavaScript。
使用下面的代碼我得到這個錯誤:
Access-Control-Allow-Origin不允許使用origin
http://localhost
。
通過從REMOTE中刪除http://
,我沒有收到錯誤,但沒有文檔顯示為已復制。
從Chrome DevTools查看IndexedDB數據庫,我可以看到數據庫已經創建(但似乎沒有文檔)。
在Chrome 29.0.1535.2金絲雀中運行。
我可以在本地執行此操作,還是需要設置遠程CouchDB數據庫並啟用CORS(根據CouchDB文檔 )?
var REMOTE = 'http://127.0.0.1:5984/foo';
var LOCAL = 'idb://foo';
Pouch(LOCAL, function(error, pouchdb){
if (error) {
console.log("Error: ", error);
} else {
var db = pouchdb;
Pouch.replicate(REMOTE, LOCAL, function (error, changes) {
if (error) {
console.log('Error: ', error);
}
else {
console.log('Changes: ', changes);
db.allDocs({include_docs: true}, function(error, docs) {
console.log('Rows: ', docs.rows);
});
}});
}
});
您可以在本地執行此操作,但必須啟用CORS。
當您從遠程URL中刪除“http://”時,Pouch將把您的數據庫復制到一個名為“localhost”的新的IndexedDB支持的Pouchdb(或實際上是“_pouch_localhost”或類似的東西 - 它添加了一個前綴)。
除非您從CouchDB本身(在相同的主機和端口上)提供此頁面,否則您將需要啟用CORS以使復制到CouchDB工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.