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