1

我正在寻找一种在浏览器中本地复制 rxdb 实例的方法(本地存储到本地存储)。我在某处读到这是清除已删除项目的唯一方法(现在找不到链接)。其实,我想做的是:

  • 清除已删除的项目(已删除标志集)
  • 清除旧修订(早于某个时间戳)但是我找不到如何执行此操作的示例。我需要经常清除,因为我的数据经常更改,而且我会很快超过浏览器存储(以及我正在同步到的远程数据库中的行)。

这是我基于rxdb 文档的粗略想法:

// transfer data
const jsonResult = await myCurrentDb.things.dump()
const filteredJsonResult = jsonResult.filter(_ => !(_.deleted) && <latestRevision>)

// wipe current collection
await myCurrentDb.things.remove()
await myCurrentDB.collection({name: 'things', ... }) // recreate

// re-import
myCurrentDb.things.importDump(filteredJsonResult)

问题:

  1. 我正在考虑间歇性地运行这个客户端(也许每 30 分钟一次?)这种方法可以吗?我错过了什么还是转储/导入转储不是要走的路?
  2. 我需要帮助找出过滤器中“ latestRevision ”条件的逻辑吗?我怎么知道呢?
4

0 回答 0