繁体   English   中英

用ouchDB复制pouchDB文档

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM