【问题标题】:unable to sync pouchDB with couchBase Sync Gateway无法将 pouchDB 与 couchBase 同步网关同步
【发布时间】:2017-02-21 12:09:25
【问题描述】:

我正在尝试通过同步网关将 pouchDB 与 couchBase 同步,但我只是获取 pouchDB 添加的数据,而不是添加到 couchBase 的初始数据。例如,couchBase 中有 750 个文档,但没有一个文档同步到 pouchDB。 http://localhost:4985/_admin/db/db 也没有显示 couchBase 文档。

【问题讨论】:

  • 通知了我们的移动团队专家。有人会回复。
  • 感谢您的关注。
  • 你是什么意思“添加到 Couchbase 的初始数据”?你是如何添加数据的?
  • @Hod,使用 PHP SDK 添加到沙发库的数据。将数据添加到 couchbase 存储桶后,它们不会显示在同步网关中

标签: couchbase pouchdb


【解决方案1】:

问题在于直接将数据添加到 Couchbase 服务器。 Couchbase Mobile 目前需要额外的元数据来处理复制和冲突解决。这不是由服务器 SDK 处理的。

推荐的方法是通过同步网关进行所有数据库写入。

为了简化 PHP 的使用,您可能需要使用 Swagger PHP 客户端。 (您可以在post 中看到使用 Swagger 自动生成的客户端的示例。该示例使用 Javascript 和 Node.js,但原理相同。)

如果您愿意,可以直接从 Couchbase Server 读取数据(例如,进行 N1QL 查询)。

另一种选择是使用“桶阴影”。这比较棘手,并且可能会在某个时候被弃用。我只是为了完整性而列出它。

【讨论】:

  • 感谢您的回答。我想尝试桶阴影,但看起来你不同意它。你能解释一下使用它的问题吗?
  • 它试图维护两个桶,一个用于支持移动版本的数据,一个用于包含普通版本的数据。它必须来回复制更改。我不知道所有细节,但我认为很容易发生冲突导致数据之间变得不一致。