问题标签 [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 投票
0 回答
46 浏览

javascript - pouchdb listeners issue with angularjs

I am using pouchdb with couchbase and angularjs.

I have a service which has different pouchdb functions like save(), getAllDocs(), delete() etc. Also, have defined a listener for pouchdb to start listening for changes.

I have different controllers defined, and in every controller I start to listen for changes and when user leaves the view stops listening for changes. These listeners are started only after user's login.

So, when the user login to the webapp, pouchdb starts listening for changes on every controller.

However, as the data grows the latency for displaying the data also increases.

So, could someone help me on improving this performance issue.

Thanks

0 投票
2 回答
341 浏览

couchbase - Couchbase 同步网关 - 服务器和客户端 API 与存储桶阴影

我正在开发一个项目,该项目使用 Couchbase 服务器和同步网关将存储桶的内容与运行 Couchbase Lite 的 iOS 和 Android 客户端同步。我还需要从 Node.js 服务器应用程序对 Couchbase 服务器进行读写访问。根据我所做的研究,不赞成使用阴影(https://github.com/couchbase/sync_gateway/wiki/Bucket-Shadowing),这导致我将同步网关 API 作为更新存储桶的一种手段来自 Node.js 应用程序。通过 Sync Gateway API 更新现有文档似乎需要传入文档的最新修订 ID,需要在修改前单独读取 ( http://mobile-couchbase.narkive.com/HT2kvBP0/cblite-sync-网关-couchbase-服务器),这似乎可能效率低下。解决此问题的最佳方法是什么?

0 投票
1 回答
230 浏览

ios - Couchbase 服务器到 iOS 手机

我正在开发一个 iOS 应用程序。

关于实现登录模块(用户名/密码,注册和忘记密码)有点困惑。

Couchbase 的新手。使用 Couchbase Enterprise Editon"http://192.168.1.126:8091/ui/index.html#/overview"在 Xcode 中设置 Couchbase Lite,我不知道下一步是什么。有人知道吗?

数据建模:文档 JSON

用户信息(“设置为 EMAIL ID”)

0 投票
2 回答
359 浏览

couchbase - Couchbase 同步网关客户端和服务器端

我正在开始一个项目,在阅读了很多内容后,我得出的结论是,我应该使用来自移动和服务器(后端)应用程序的 Sync Gateway REST API 调用,而不是存储桶影子。但是,Sync Gateway 在进行查询时显然很烦人,尤其是动态查询。我的想法是为后端应用程序编写一个小模块,该模块将使用 Sync Gateway 进行写入,使用 NodeJS SDK 进行读取。通过这种方式,我能够使用 N1QL、视图等进行获取/查询(而不是使用 Sync Gateway 做尴尬的事情),并且我可以确保我的数据在写入时正确同步。

我的想法在这里有缺陷吗?谁能预见这种方法的任何问题?

0 投票
1 回答
405 浏览

couchbase - Couchbase 微服务架构

我已经阅读了很多关于每个微服务都有一个数据存储的文章。我将使用这种方法,但想知道使用 Couchbase Sync Gateway 的最佳方法,因为我想使用来自移动和后端服务器应用程序的 Sync Gateway REST API 调用。我认为解决此问题的最简单方法是拥有一个 Couchbase 集群(3-n Couchbase Server 实例),其中可能有 2-3 个存储桶。一个用于会话的存储桶,另一个用于我所有数据的存储桶,也许稍后还有其他一些存储桶。对于每个微服务的“数据库”,我认为我应该将所有数据放在一个桶中,并通过文档字段区分数据库和表,而不是为每个微服务设置不同的物理集群。所以也许我会有类似的东西:

对于每个服务,我也会有多个数据库条目,它们都指向我的同步网关配置文件中的同一个存储桶。然后我需要设置 ACL 或某种只允许后端服务器应用程序访问自己的数据库的控件(因此“选举 API”服务器只能读取/写入具有相应database属性的文档)。这一切都必须通过同步网关,至少对于写入(我可能会使用 sdks 进行大多数读取)。

同步网关对我来说仍然有点困惑,我不确定这是否是最好的方法。我会使用通道作为一种 ACL 吗?这只是一个糟糕的方法吗?有什么建议么?谢谢!

0 投票
1 回答
50 浏览

angularjs - 使用 pouchdb 创建批处理文档会降低 webapp 的速度

我正在尝试使用 pouchdb 的 bulkSave() 函数保存文档。但是,当保存这些文档时,它开始使用同步网关与主数据库同步,这样做时 web 应用程序会变慢,当我尝试导航到不同的选项卡时,该选项卡上不会显示任何内容。

以下是如何创建文档的示例:

提前致谢!

0 投票
1 回答
269 浏览

ios - CouchBase Lite 过滤器复制排序/排序

我有一个服务器端过滤器 (javascript: function(doc, req)) 设置,它检查文档类型并返回 true 或 false 的复制状态。我有一个场景,我必须检查文档的内容,比如 DocumentA,以便决定是否复制 DocumentB。但是没有doc传递给javascript的顺序。例如 DocumentB 可以在 DocumentA 之前到达同步,在这一点上,如果没有 DocumentA 的知识,我不知道该怎么做return。我怎样才能做到这一点?

0 投票
1 回答
65 浏览

couchbase-lite - 在 CouchbaseServer 中存储数据(没有元数据)

我在 couchabse lite db 中创建了数据并将其复制到 couchabse server 中,但在复制中未使用的数据也会在服务器上创建。有什么方法可以存储纯数据(没有元数据)?

存储桶对这个问题有用吗?

0 投票
1 回答
313 浏览

rest - Couchbase 创建文档通过同步网关公共休息 API 失败

根据下面提到的 Couchbase Sync-Gateway REST API 文档 cURL 应该在指定的数据库中创建一个文档。

下面是 Postman 生成的 cURL。

我还尝试将 JSON 添加到请求的正文中。

但是当我通过 Postman 发送 put 请求时,它不是创建一个新文档,而是尝试创建一个新数据库,并且 JSON 响应是

我错过了什么还是一个错误?有没有其他方法可以创建文档以同步网关?

0 投票
1 回答
523 浏览

android - Android Couchbase Lite 复制

我在让复制功能适用于我的本地 Couchbase 数据库和我的 Android 应用程序时遇到问题:

创建拉复制后,我继续查询本地数据库的所有文档,但没有返回任何文档。

我的同步网关配置文件如下:

当我输入 localhost:4984/sync_gateway 时,我确实收到“

不确定问题是否出在Android端,因为我在运行 Android 代码时确实看到了同步网关输出“POST /sync_gateway/_changes” 。谁能解释为什么复制不起作用?

更新 - 我能够确认我的设置已正确完成。我遇到的问题与我创建文档的方式有关。我通过管理控制台创建的那些没有被识别为有效文档所需的元数据。我最终通过推送复制通过我的应用程序填充数据库来填充服务器端数据库。通过 POST 请求创建文档也应该有效。