我試圖將本地PouchDB實例同步到遠程CouchDB。事情很好,但我不知道如何處理以下情況:PouchDB檢測未同步的文檔
我已經在CouchDB中添加了一個驗證規則來阻止更新(它會拒絕所有更新)。在修改文檔後,當我在本地PouchDB實例上運行同步功能時,「denied」事件會像我預期的那樣觸發。但是,如果我再次運行同步,即使本地文檔與CouchDB版本不同,「拒絕」事件也不會再次觸發。
如何檢查本地數據庫是否與遠程數據庫匹配?如果我第一次錯過「拒絕」事件(可以說用戶關閉了瀏覽器),我如何在下一次運行時檢測到數據庫不同步?我如何強制PouchDB嘗試再次同步修改後的文檔,以便我可以看到被拒絕的事件?
謝謝!
syncPouch: function(){
var opts = {};
var sync = PouchDB.sync('orders', db.remoteDB, opts);
sync.on('change', function (info) {});
sync.on('paused', function(){
});
sync.on('active', function() {});
sync.on('denied', function(err){
//This only fire once no matter how many times I call syncPouch
console.log("Denied!!!!!!!!!!!!");
debugger;
});
sync.on('complete', function (info) {
//This fires every time
console.log("complete");console.log(info);
});
sync.on('error', function(err){
debugger;
});
return sync;
},