问题标签 [couchbase-sync-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

couchbase - 如何仅复制 Couchbase Mobile 中某些渠道的交集

我的应用程序中有四个通道:A、B、C、D。一些应用程序用户只对通道 A 和 B 中包含的文档感兴趣。也可以表示为:A ∩ B。其他人可能对不同的组合感兴趣,例如:A ∩ B ∩ D.

更新

我认为以下内容无论如何都行不通

到目前为止的建议是,我可以为每个组合创建一个新通道(如 A_B 和 A_B_D),然后相应地标记满足交叉标准的文档。但是您可以看到这很容易失控,因为只有 4 个通道,您最终会得到 15 个组合(11 个额外通道)。

有没有办法通过频道或其他一些我在 Couchbase 中错过的功能来做到这一点?

0 投票
1 回答
206 浏览

synchronization - PouchDB 同步上的多个请求

我正在使用带有同步功能的 PouchDB 5.3 和 Couchbase Sync Gateway 1.2。当我使用一小组记录(20 .. 50)时,它可以正常工作。但是我在使用 3K 时遇到了问题,因为第一次尝试同步时,它对服务器有大约 17K 的请求。

这是有这个问题的配置:

此外,无法检测到这 17k 个请求何时完成。

如果我将 live 方法设置为 false,它只有大约 3k 个请求,但在那之后,当双方中的任何一方都进行了一些更改时,就无法同步。

这是一组重复请求(具有不同的 uuid)

关于如何防止这个 17k 请求的任何想法?

如果这是强制性的,那么关于如何检测一次的任何想法都完成了吗?

谢谢!

在https://github.com/pouchdb/pouchdb/issues/4975上关注这个问题

0 投票
1 回答
37 浏览

session - Pouchdb 无法识别其他用户

我正在使用带有同步功能的 PouchDB 5.3 和 Couchbase Sync Gateway 1.2。如果我使用有权访问 2500 个文档的用户登录,它会将它们同步到我的设备,但是,如果我注销并使用只能访问 1 个文档的其他用户登录,PouchDB 不会识别此更改,并保留我设备上的数据。

如果 PouchDB 能够同步双方的更改,应该能够识别用户何时更改?

0 投票
2 回答
821 浏览

couchbase - 无法通过 CouchBase 同步网关管理员 REST API 创建会话

我正在使用 cookie Auth 实现自定义身份验证。所以,我在玩同步网关 REST API 来创建用户和会话。我可以成功创建用户,但无法通过 /_session API 创建会话。以下是我遵循的步骤。

1.创建用户

2.获取用户

3.创建会话

任何人都可以解释为什么 API 会给出以下响应。

{"authentication_handlers":["default","cookie"],"ok":true,"userCtx":{"channels":{},"name":null}}

0 投票
2 回答
183 浏览

android - 如何在沙发库复制期间保持复制的修订?

在我的 android 应用程序中,我使用 sync_gateway 设置了拉复制。

由于特定应用程序的逻辑,每当检测到冲突时,我只需要保留从服务器复制的文档修订。

我能够定义哪个冲突版本来自复制(服务器),哪个来自本地修改(移动应用程序)。

如果我使用复制修订版中的数据创建墓碑和新修订版(这是建议的方法),我将有持续的冲突,因为本地修订版 id 将始终与服务器上的不同(任何用于选举的新修订版) currentRevision 将具有不同的 id)。

我最好的解决方案是将服务器版本保留为当前版本并丢弃任何其他版本。

我怎样才能做到这一点?

是否可以清除修订?或者是否可以创建一个仅包含服务器修订的对象,以便在解决冲突后任何其他没有冲突的拉取只会更新我的文档?我需要一种类似于覆盖的行为。

0 投票
1 回答
125 浏览

apache-spark - Spark Couchbase 连接器 DCP

我想知道基于 DCP 的流在 Spark Couchbase 官方连接器中是否稳定?这些文件表明它们还没有准备好在生产中使用。我们有 Java 的例子吗?

另外,如果有人可以阐明我正在尝试解决的用例以及火花连接器在这里是否有意义:

我们每天都会从 couchbase lite db 到同步网关获取有关一些徽章的更新。现在,在 10 天的时间窗口内,如果有人获得 5 个或更多徽章,那么我们需要推送一个祝贺徽章。这需要每 10 天后进行一次。

因此,我计划使用 DCP,每天检查更改,运行作业,然后将其推送到同步网关。如果在 10 天的时间间隔内,获得了 5 个或更多徽章,那么我将其推送到同步网关..

这是解决这个问题的正确方法还是有更好的方法来做到这一点?

可以使用的另一件事是:

http://developer.couchbase.com/documentation/mobile/1.2/develop/guides/sync-gateway/server-integration/changes-worker/index.html ..

那么哪种方法会更好呢?

0 投票
0 回答
361 浏览

couchbase - 远程同步网关拉取复制(或同步)失败

我目前正在开发 PoC 以了解 CouchBase lite 同步功能(使用 Java 应用程序)。当同步网关在我的机器上本地运行时,拉取和推送复制工作得非常好。

现在,当我将同步网关移动到远程机器时,拉复制器不起作用。但推动工作正常。从客户端上的以下日志看来,拉复制器出现了一些错误。

以下是我的同步网关日志

此外,我正在使用 cookie 身份验证,以下是我的同步网关配置。

有谁知道可能出了什么问题?

0 投票
2 回答
4514 浏览

couchbase-lite - 可以在客户端拉/复制同步网关视图吗?

我有这个用例,我根据 10 天的滚动时间窗口在同步网关上创建了服务器端视图。有没有办法直接将它们拉到我的设备端?

当我查看文档时,我发现无法直接复制这些内容,需要进行 REST 调用:

http://developer.couchbase.com/documentation/mobile/1.2/develop/guides/sync-gateway/accessing-cb-views/index.html

这个假设正确吗?

我看到的另一种方法是让所有数据在客户端复制,然后使用 Map reduce 函数在客户端编写 Couchbase lite 视图。哪一个是2中的正确方法?

0 投票
0 回答
284 浏览

php - 如何将 couchbase 与现有的 PHP+Postgres 服务器应用程序一起使用

我想将 Couchbase 用于我现有的 PHP-Postgres 应用程序的仅同步需求。

所以这就是我计划使用它的方式。

  1. 服务器中的更改被推送到 couchbase 同步网关(以更新 couchbase 服务器数据库)
  2. 因此,couchbase 应该根据频道自动更新手机。
  3. 可以使用 Couchbase 网络挂钩将来自移动设备的更改推送到我的 postgres 服务器。
  4. 因此(理论上)所有同步都应该顺利进行。

然而,在实施此架构之前,我在研究时遇到了一些我无法找到合适答案的问题。

请帮忙 。.

问题

  1. 处理文件同步的最佳技术是什么?(我应该简单地将文件转换为 base64 字符串并将它们视为 couchbase 中的常规 json 数据吗?)

  2. 如果我从我的服务器更新 couchbase 服务器。那不会也触发网络钩子吗?如果我的服务器发生更改,我如何抑制/忽略网络挂钩?

  3. Couchbase 同步网关还提到,对于身份验证,我需要将服务器设置在与主服务器相同的域名上(请参阅:Couchbases 自定义(间接)身份验证)。为了简单和负载,我想将 couchbase 保留在不同的服务器上。我怎样才能将它们放在不同的服务器上,并且仍然不会遇到上述会话 cookie 限制?

0 投票
1 回答
270 浏览

android - GrocerySync-Android 应用程序中未发生 CouchDB 同步

我是 couchDB 的新手,作为起点,我下载了 GrocerySync-Android并尝试在设备(三星 Galaxy S4)上运行,但数据同步正在发生。

这是尝试过的,

1)我在数据桶(couchbase-server)中创建了“杂货同步”

2)我已经更改了同步 URL,如下所示

当我如上所示更改 URL 时,我得到以下异常。

然后我尝试将我的 URL 更改为:

我仍然得到相同的连接被拒绝异常。

然后我搜索了一些建议用于以下 IP 10.0.2.2的问题,因此 URL 变为:

如果我使用上面的 URL,我不会收到 Connection refused 异常,但会收到以下异常:

我没有得到我所缺少的!

3)当我启动sync_gateway 后,我可以在控制台上看到,

之后我不会看到任何日志。

请让我知道我错过了什么或做错了什么。非常感谢任何帮助或指导。