我试图解决CouchDB被回滚的问题,导致PouchDB在未来发生。我想找到一种方法来检测这种情况,并在发生这种情况时强制PouchDB销毁和重新加载。
有没有办法向PouchDB询问它的当前拉取序号?我根本无法找到任何文件。我的google-foo不够强大。
到目前为止,我唯一的想法是观看sync.on(更改)Feed,并在每次拉动时记录seq编号。然后在应用程序重新加载时,将其作为ajax https:/server/db/_changes?descending=true&limit=1
运行并验证返回的序列号是否高于我存储的序列号。如果存储的seq更高,则pouchdb.destroy(),从indexdb清除_pouch_
,并可能弄清楚如何删除此版本的https://github.com/pouchdb/pouchdb/releases/tag/6.4.2的websql版本。
或者有没有更好的方法来解决PouchDB在CouchDB之前的未来结束的情况?
答案 0 :(得分:1)
问题似乎出现在复制检查点文档中。从备份中恢复数据库时,可能还在恢复检查点本地文档。
您应该删除所有本地文档,方法是使用_local_docs端点查找它们,然后从恢复的数据库中删除它们。
这样做,您的PouchDB应该尝试向CouchDB发送他们的文档,同步PouchDB和CouchDB。