PouchDB - 在本地启动,稍后复制

PouchDB - start local, replicate later

如果我们始终先在本地创建和填充 PouchDB 数据库,然后稍后 sync/authenticate 使用像 Cloudant 这样的集中式 CouchDB 服务,是否会产生任何重大问题?

考虑这个简化的场景:

在第 3 步时,一旦我创建了每个用户的 CouchDB 数据库服务器端并分配了凭据以传回浏览器以供 sync/replication,我如何才能 link与已经创建的 PouchDB 数据有关吗?即

  1. PouchDB 能否以某种方式重用现有数据库进行同步,从而将所有现有数据推送到托管的 CouchDB 数据库,或者..
  2. 我们是否需要创建一个新的 PouchDB 数据库,然后将所有文档从现有的(非复制的)复制到这个新的(复制的)数据库,然后删除现有的?

在我们开始支持非复制 PouchDB 的第一阶段之前,我想确保我没有把自己画到任何我没有想到的角落。

这取决于您要从服务器同步的数据类型,但一般来说,您可以将预先存在的数据库复制到包含现有文档的新数据库中,只要这些文档 ID 不存在即可冲突。

因此,星级评分模型的最佳想法可能是在客户端创建具有 'star_<timestamp>' 之类 ID 的文档,以确保它们不会与任何内容发生冲突。然后您可以使用 map/reduce 函数聚合它们。