couchDB pouchDB 同步 - angular-pouchdb - 类型错误
couchDB pouchDB sync - angular-pouchdb - Type Error
我正在尝试在 Angular 应用程序(使用 angular-pouchdb)中让 sync() 在 pouchDB 和本地 couchDB 之间工作。
this.system = pouchDB('system');
var remoteSystem = pouchDB('http://localhost:5984/system');
this.system.sync(remoteSystem, {live : true}).on('change', function (change) {
// yo, something changed!
console.log('changed');
}).on('error', function (err) {
// yo, we got an error!
console.log('error');
});
但我不断收到以下错误:
Uncaught TypeError: undefined is not a function (angular.js:4146)
如果我删除 .on 链,错误就会消失(但同步仍然不起作用)
最新版本的 PouchDB 在 PouchDB 对象上有同步方法。
var remote = new PouchDB('http://localhost:5984/system');
var local = new PouchDB('system');
PouchDB.sync(local, remote, { live: true })
.on('change', function (info) {
// handle change
}).on('complete', function (info) {
// handle complete
}).on('uptodate', function (info) {
// handle up-to-date
}).on('error', function (err) {
// handle error
});
如果您使用的是 angular-pouchdb
,那么 pouchdb
对象并不是真正的 PouchDB
对象;这是一件特别的事情 angular-pouchdb
。
幸运的是,sync
和 replicate
API 也可用于数据库本身。所以你可以这样做:
local.sync(remote, { live: true})
这是一回事
我正在尝试在 Angular 应用程序(使用 angular-pouchdb)中让 sync() 在 pouchDB 和本地 couchDB 之间工作。
this.system = pouchDB('system');
var remoteSystem = pouchDB('http://localhost:5984/system');
this.system.sync(remoteSystem, {live : true}).on('change', function (change) {
// yo, something changed!
console.log('changed');
}).on('error', function (err) {
// yo, we got an error!
console.log('error');
});
但我不断收到以下错误:
Uncaught TypeError: undefined is not a function (angular.js:4146)
如果我删除 .on 链,错误就会消失(但同步仍然不起作用)
最新版本的 PouchDB 在 PouchDB 对象上有同步方法。
var remote = new PouchDB('http://localhost:5984/system');
var local = new PouchDB('system');
PouchDB.sync(local, remote, { live: true })
.on('change', function (info) {
// handle change
}).on('complete', function (info) {
// handle complete
}).on('uptodate', function (info) {
// handle up-to-date
}).on('error', function (err) {
// handle error
});
如果您使用的是 angular-pouchdb
,那么 pouchdb
对象并不是真正的 PouchDB
对象;这是一件特别的事情 angular-pouchdb
。
幸运的是,sync
和 replicate
API 也可用于数据库本身。所以你可以这样做:
local.sync(remote, { live: true})
这是一回事