【问题标题】:How to sync CouchDB from multiple PouchDB in Angularjs?如何在 Angularjs 中从多个 PouchDB 同步 CouchDB?
【发布时间】:2017-06-08 05:47:50
【问题描述】:

我正在开发一个 Angular 应用程序。如何使多个 PouchDB 同步到单个 CouchDB 而不会丢失任何信息?

【问题讨论】:

    标签: javascript angularjs couchdb pouchdb


    【解决方案1】:

    您需要通过过滤器进行复制

    1. 在 CouchDB 中为每个客户端数据库创建过滤器;
    2. 通过过滤器从 CouchDB 启动 replication 到客户端(查看名为 filter 的复制选项)
    3. 为每个客户端数据库启动从客户端到 CouchDB 的所有文档的复制。

    您可以找到您需要的一切here(示例 3、4)

    【讨论】:

      【解决方案2】:

      如果您的意思是创建多个 PouchDB 实例,那么您必须为每个 PouchDB 实例创建它们各自的侦听器,指向您想要的远程数据库(有问题的 CouchDB)。

      这个监听器的例子对我有用:

      var sync = PouchDB.sync('mydb', 'http://localhost:5984/mydb', {
        live: true,
        retry: true
      }).on('change', function (info) {
        // handle change
      }).on('paused', function (err) {
        // replication paused (e.g. replication up to date, user went offline)
      }).on('active', function () {
        // replicate resumed (e.g. new changes replicating, user went back online)
      }).on('denied', function (err) {
        // a document failed to replicate (e.g. due to permissions)
      }).on('complete', function (info) {
        // handle complete
      }).on('error', function (err) {
        // handle error
      });

      【讨论】:

      • 这是正确的。您还可以从多个 PouchDB 同步到内存中的 PouchDB,然后从该 PouchDB 同步到服务器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 2020-08-02
      • 2018-04-26
      • 1970-01-01
      相关资源
      最近更新 更多