我在客户端应用程序中使用PouchDB,它与托管在云中的CouchDB同步。下面是我的pouchDB代码:
db = new PouchDB(LOCAL_DB_NAME, {
revs_limit: 1
}, {
adapter: 'idb'
});
remoteDB = new PouchDB(REMOTE_DB_NAME, {
revs_limit: 1,
auto_compaction: true
});
db.replicate.from(remoteDB);
SyncDB() {
db.sync(remoteDB).on('complete', function () {
console.log('synced');
//alert('synced DB')
}).on('error', function (err) {
console.log(err);
alert(err);
});
}
我面临的问题是,假设应用程序是从两个设备(桌面和移动设备)打开的。从一个设备删除文档;现在,由于它存在于另一个设备(本地IndexedDB)中,因此它与服务器同步,因此,与另一个设备同步,删除是“撤消”。我尝试从服务器本身删除文档,但刷新服务器后,它会再次添加,因为文档存在于本地设备和同步中。
是否有任何设计/代码可以阻止这种情况?
谢谢!