簡體   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