[英]replicate pouchDB document with couchDB
我已经在一个应用程序中使用过pouchDB,现在我想引入ouchDB将文档同步到远程服务器。 因此,我点击了以下链接http://pouchdb.com/getting-started.html我使用下面的代码将数据复制到bedDB
var db2 = new PouchDB('todos');
var remoteCouch = 'http://localhost:5984/_utils/database.html?couchdb_sample';
db2.changes({
since: 'now',
live: true
}).on('change', showTodos);
sync();
function sync() {
//alert("sync");
//syncDom.setAttribute('data-sync-state', 'syncing');
//var opts = {live: true};
db2.replicate.to(remoteCouch).on('complete', function () {
console.log("done");
}).on('error', function (err) {
console.log(err);
});
function addTodo(text) {
var todo = {
_id: $("#eid").val()+$("#version").val(),
title: text,
name: $("#nameid").val(),
version: $("#version").val(),
completed: false
};
db2.put(todo, function callback(err, result) {
if (!err) {
console.log('Successfully posted a todo!');
}
else{
console.log(err);
}
});}
这里的标题有一个xml字符串作为值。 但我面临以下错误
SyntaxError: Unexpected token <
at Object.parse (native)
对于此行db2.replicate.to(remoteCouch)。 我在ouchDb数据库中手动创建了一个新文档,并输入了相同的数据,但没有错误,但是当我尝试复制它时,显示语法错误。 谁能告诉我我哪里出问题了
http://localhost:5984/_utils/database.html?couchdb_sample
指向HTML站点(从浏览器的地址栏中复制出来,对吗?)。 删除中间部分:
http://localhost:5984/couchdb_sample
似乎您没有按照PouchDb的期望定义远程数据库。 您应该使用“新的PouchDb”调用。 您的代码的第二行是:
var remoteCouch = 'http://localhost:5984/_utils/database.html?couchdb_sample';
但我认为应该是这样的:
var remoteCouch = new PouchDB('http://localhost:5984/couchdb_sample');
从您的代码中我不清楚远程数据库的名称是什么,但是正如Ingo Radatz所指出的那样,远程数据库的名称通常不会以“ .html”结尾,因此我假设上面的是ouchdb_sample 。 在PouchDb站点上有有关复制的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.