问题标签 [couchbase-java-api]

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 回答
554 浏览

java - 在代码中创建 Couchbase 视图:第一个查询返回 0 行,索引在后台构建

我正在使用 Couchbase Java API 2.1.2 在代码中创建一个视图,如下所示:

ViewResult result = bucket.query(ViewQuery.from(name, viewName))插入文档后直接调用,viewResult.success()总是返回true,但迭代器rows()iterator返回0行(肯定有结果存在。当我在Web界面中执行视图时,它返回正确的值)。

几个小时后我发现的解决方法是调用query两次,中间有足够的等待时间

然后第二次调用将返回正确的结果。

似乎 Couchbase 必须先为查询构建索引但直接返回,甚至在索引构建之前。
等待 10 秒当然不是最优的,将来创建索引可能会花费更多时间。

所以我的问题是,我怎样才能确保我只等到索引建立完成?
这是 API 中的错误吗?

0 投票
0 回答
619 浏览

java - Couchbase Java SDK 无法获取和删除文档

我不明白为什么这不会删除视图中的所有文档。我将 Couchbase Java SDK 2.1.3 与 Couchbase 3.0.3 一起使用。

无论我运行多少次,这个程序的输出总是“将删除 94 个文档”

该视图只有一个如下所示的地图功能:

无法理解我做错了什么!

0 投票
1 回答
799 浏览

java - How to configure the java client for couchbase to auto-reconnect?

How to configure the java client for couchbase to auto-reconnect?

Is it turned on by default? Also, it will be great if somebody can help to show how to do it using spring-data-couchbase.

0 投票
1 回答
675 浏览

json - 在 Couchbase 中作为二进制对象插入的 JSON 文档

我正在尝试将 java POJO 插入到 couchbase 存储中,调用下方的 jsoncas看起来像这样 -

我已经验证这是一个有效的 JSON,并且当我尝试通过 couchbase GUI 查找此文档时,它仍然作为二进制对象插入,它显示了 base64 编码的字符串。不过,其他一些文件很好。我想知道这是否仅适用于cas方法而不是set.

相关的java代码是这样的:

任何有关为什么会发生这种情况的指示都将不胜感激。

Update1:​​我使用的是 Couchbase java 客户端版本 1.4.4,服务器版本为 2.5

Update2:我认为这与我的代码或 json 无关,我尝试用一​​个大的 json 文档(有效的)替换我的 json,我在 couchbase GUI 中看到了相同的结果。我认为这是因为文档的大小可能超过 2.5KB。我在上面粘贴的 json 删除了实际的字段和标签,它们是稍长的字符串。奇怪的是,当我修改文档时,低于 960 个字符的文档通常显示为 Json,而略高于 960 个字符的文档则存储为二进制。

0 投票
1 回答
1041 浏览

scala - Couchbase Java SDK:并发超时异常

我正在使用 Couchbase 3.0 我正面临这个问题,当我尝试同时打开两个桶时它给了我错误java.util.concurrent.TimeoutException

我有一个案例,我必须同时打开两个桶。当我评论其中一个桶打开行时,代码工作得很好,但是只要我想打开两个桶,它就会给我一个例外。

Java SDK 版本为 2.1.3

0 投票
2 回答
449 浏览

couchbase - 更新 Java SDK 版本后尝试连接集群时出现问题

我们在更新 Java SDK 版本后尝试连接到集群时遇到问题。

系统设置如下:

我们有一个使用 Java SDK 和 Couchbase 集群的 Web 应用程序。在两者之间,我们有一个 VIP(虚拟 IP 地址)。我们意识到这并不理想,但我们无法立即改变这一点,因为 VIP 是由 Tech Ops 授权的。VIP 基本上只是在应用程序启动时重新路由初始请求。这样我们就可以对集群进行修改,并确保当应用程序启动时,它可以找到集群,而不管集群中的实际节点及其 IP。

在此问题之前,我们使用 JAVA SDK 版本 1.4.4。我们的应用程序将启动,Java SDK 将在端口 8091 上向 VIP 发起请求。请注意,8091 端口是 VIP 上唯一开放的端口。VIP 会将请求重新路由到当前正在使用的节点集群之一,该集群将响应 Java SDK。那时,Java SDK 会发现集群中的所有节点,并且应用程序会运行良好。在正常运行期间,如果我们要从集群中添加、删除一个节点,Java SDK 将自动更新,并且一切都将运行而不会出现问题。

在上一个 sprint 中,我们将 Java SDK 更新到了 2.1.3 版。我们的应用程序将启动,Java SDK 将在端口 11210 上向 VIP 发起请求。由于此端口未打开,请求将失败,Java SDK 将抛出异常:

不会对任何港口提出进一步的要求。

似乎版本之间使用端口的顺序已更改。有人可以确认或质疑用于集群发现的端口顺序已在版本之间更改。也有人可以就我们如何解决这个问题提供一些建议。我们正在尝试了解客户端的行为,如果我们可以打开 VIP 上的所有这些端口,那么客户端是否仍能正常运行并发挥全部性能?

这个问题发生在我们的生产环境中,我们不能用它来测试潜在的解决方案,因为它会干扰我们的产品。

0 投票
2 回答
864 浏览

couchbase - Couchbase N1QL Java SDK 分页和排序问题

我最近开始使用 couchbase。我正在使用 Spring-Data couchbase 在 Couchbase 中插入 Java POJO。由于 Spring Data Couchbase 项目不支持分页和排序,我尝试使用 couchbase java client 2.2.0-dp2。

我插入了 8 个用户,其 id 范围从 1 到 8。

我编写了以下代码来应用分页和排序。

但是,我看到的结果如下。它应该是 test1 到 test5,尽管用户是随机选择的。有人可以帮我吗?

0 投票
1 回答
204 浏览

couchbase - 如何从 couchbase Java sdk 2.1 创建视图

我需要创建一个带有地图功能的视图,例如:

我必须使用 couchbase java client 2.1 创建这个视图。我在文档中找不到任何东西谢谢

0 投票
2 回答
711 浏览

reactive-programming - 如何在不破坏操作符链的情况下合并发出 Observables 的 Observable 的输出?

上下文使用 Couchbase 在 2 级文档存储上实现 REST CRUD 服务。数据模型是指向零个或多个项目文档的索引文档。索引文档使用异步获取作为 Observable 检索。接下来是一个 .flatMap() ,它为每个项目文档检索零个或多个 ID。异步获取返回一个 Observable,所以现在我创建的 Observable 是 Observable>。我想链接一个 .merge() 运算符,它将采用“发出 Observables 的 Observable,并将其输出合并到单个 Observable 的输出”来引用 ReactiveX 文档:) 然后我将 .subscribe() 到那个单一的可观察以检索项目文档。.merge() 运算符有很多签名,但我不知道如何在一系列运算符中使用它,如下所示:

编辑:

你可能猜到我是一个被动的新手。@akarnokd 的回答帮助我意识到我想做的事情是愚蠢的。Observable<Observable<JsonDocument>>解决方案是合并闭包内项目的排放document并返回结果。这会发出以下JsonDocuments结果flatMap

测试和工作:)

0 投票
1 回答
55 浏览

java - 在 Couchbase Java SDK 2 中全局设置视图查询的开发模式?

我正在使用带有 Couchbase 的游戏框架。Play 框架有一个应用模式的特性:dev、test、prod。Couchbase 视图引擎也有模式:dev、prod。我想在播放框架开发模式下查询开发模式下的所有 Couchbase 视图,并在 prod modev 中查询视图以获取播放框架 prod 模式。

使用 java Couchbase 客户端 1.x 我做了

在 java sdk 2 中,我只找到了如何为每个查询设置开发模式

在 sdk 2.x 中是否有类似的方法来全局设置视图模式?