[英]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.