PouchDB - 从本地开始,稍后复制

时间:2015-05-17 06:52:52

标签: couchdb replication pouchdb cloudant

如果我们总是首先在本地创建并填充PouchDB数据库,然后稍后使用像Cloudant这样的集中式CouchDB服务进行同步/身份验证,是否会产生任何重大问题?

考虑这个简化的场景:

  • 您正在建立住宿预订服务,例如酒店搜索或airbnb
  • 您希望人们能够在不必创建帐户的情况下收藏/心脏属性,并将使用PouchDB存储此列表
    • 即。我们的想法是,在没有严格必要的情况下,让他们创建一个帐户来打破他们的流程
  • 如果用户希望选择加入,他们可以稍后创建帐户并接收服务器端的凭据"要与
  • 同步的数据库

在步骤3中,一旦我创建了每用户CouchDB数据库服务器端并分配了凭据以传递回浏览器进行同步/复制,我该如何将其与PouchDB数据相关联已创建?即。

  1. PouchDB能否以某种方式重用现有数据库进行此同步,因此将所有现有数据推送到托管的CouchDB数据库,或者......
  2. 相反,我们需要创建一个新的PouchDB数据库,然后将所有文档从现有(非复制)文件复制到这个新(复制)文件,然后删除现有文件吗?
  3. 我想确保在开始第一阶段支持非复制的PouchDB之前,我没有把自己画到我想不到的任何角落。

1 个答案:

答案 0 :(得分:2)

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

因此,对于星级模型来说,最好的想法是使用'star_<timestamp>'等ID创建客户端文档,以确保它们不与任何内容冲突。然后你可以用map / reduce函数聚合它们。