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

scala - scala observable 将 observable 与没有中间数据结构更新的序列统一起来

我有一个代码,它调用 couchbase 来获取一些行,如下所示:

如果我有 1,2,3,4,5,6 作为输入行键并且数据库中只存在第 1,2,3 行,那么 observable 只会收到大约 1,2,3 的通知。

然而,我的要求是我返回一个 1、2、3 为真(存在于数据库中)和 4、5、6 为假的地图(意味着数据库中不存在)。我设法用 scala observable 做到了这一点,但是我使用中间地图数据结构来返回包含所有 id 的总地图。下面是一个模拟我的问题的示例代码..

无论如何要在没有中间映射的情况下做到这一点(不填充中间数据结构,但只能通过操纵流)?看起来不干净!!. 谢谢。

0 投票
0 回答
507 浏览

rx-java - “超过 1 个 Couchbase 环境”警告为配置错误,为什么?

我尝试在论坛上搜索并搜索有关此主题的更有说服力的答案。以下是我发现的:

  1. 可扩展性和并发性
  2. 找到超过 1 个 Couchbase 环境
  3. 创建多个沙发底座环境时出现内存不足异常

但是,我仍然不明白上面的答案所指的实际“不可预测的行为”和“资源”是什么。任何人都可以帮忙给出更详细的解释吗?

假设我正在使用带有DefaultCouchbaseEnvironment构建器的 Java SDK,如果我构建两个具有不同超时/kvendpoints/其他参数的环境,一个会如何影响另一个?环境中有没有静态共享模块?

这会在某种程度上与 RxJava 计算调度程序/io 相关吗?

0 投票
1 回答
42 浏览

couchbase - 视图不会更新以添加以前被忽略的对象

文档插入存储桶后,视图中没有文档。

我的文件:

查看索引代码:

我的观点查询:

使用 curl 添加文档时会更新视图。

但是当您使用程序添加视图时,视图不会更新。

我是否需要运行一个程序来以编程方式更新视图?

更新 2:

问题是时差。添加文档时,由于日期条件不匹配,视图不会更新。

但是,添加文档后,即使满足视图条件,视图也不会更新。

例如:

0 投票
1 回答
57 浏览

java - Couchbase 集群 - 发现 Java SDK2 的不可用服务器

在 Java SDK1 中,可以获取不可用节点的地址:

Java SDK2 中的等价物是什么?

0 投票
1 回答
115 浏览

java - 在 Java 中使用 Couchbase SDK

我正在尝试将 couchbase 查询的结果映射到 java 引用类型,到目前为止我还没有找到这样做的方法。如何将以下内容捕获为 java 引用类型:

如何将此“客户”转换为 java 对象?这样做的最佳方法是什么,couchbase SDK 不为此提供一些解决方案吗?

0 投票
1 回答
273 浏览

scala - Couchbase scala 可观察的 n1ql 查询结果缺少扩展函数的参数类型 ((x$12) => x$12.rows())

我正在尝试使用 couchbase 异步存储桶 n1ql 查询,如下所示:

我在下面有一个可以运行的非编译代码示例:(注意我必须使用scala:2.11.7)

https://scastie.scala-lang.org/nkWOuCORRbKbzieEK2D8yA

我排成一排:.flatMap(_.rows())

缺少扩展函数的参数类型 ((x$12) => x$12.rows())

我尝试将其更新为:

.flatMap(rows => rows.rows())

然后我得到:

缺少参数类型

所以我尝试更新为:

.flatMap((rows: AsyncN1qlQueryResult) => rows.rows())

然后我得到:

具有替代方法的重载方法值 flatMap:

在这一点上,我被这个错误震惊了,我不知道如何修复它......我该如何修复它?

0 投票
2 回答
1256 浏览

couchbase - 从 CouchDB 和 Couchbase-lite 同步和删除已删除的文档

我目前在我的 iOS 和 android 应用程序中使用 couchbase-lite 从运行 CouchDB 的数据库同步文件。

我经常删除不再需要的文件,并且我希望从移动应用程序中删除相同的文件,但是任何拉复制只会拉更新或新文件,并且不会触发移动应用程序上的删除。

有没有办法从移动应用程序中删除不再在服务器数据库上的文档,而无需对移动应用程序进行完全清除,然后重新同步整个数据库?

0 投票
0 回答
500 浏览

spring-data - 订阅长时间运行的异步查询

我正在尝试从 Couchbase 响应式获取大型数据集。我使用ReactiveCouchbaseRepositoryspring数据提供的。

在我的服务中,我订阅如下

在我的测试数据集上这工作正常,但是在生产中,查询返回一个大数据集并运行大约 20-25 秒。

我的理解是,这正是响应式存储库的用途:消耗大量结果而不需要显式分页等。

然而,我得到的是IllegalStateException

提高autoreleaseAfter超时似乎不是一个可靠的解决方案。在发布第一个结果元素之前,似乎整个结果都在 Couchbase 中缓冲。

我有什么问题吗?关于问题或解决方案可能是什么的任何想法?

编辑

我发现的一个问题是订购。我假设 Couchbase 必须先获取整个结果集,然后才能对其进行排序。删除ORDER BY子句后,我可以流式传输结果,但仅限于直接使用 java SDK 时。

以下代码工作并立即开始流式传输数据:

但是,如果我在 a 中使用完全相同的查询ReactiveCouchbaseRepository,则需要几秒钟,然后抛出上面显示的异常。

有人知道不同的行为可能来自哪里吗?有人可以指出在 spring 数据代码中使用实际 java SDK 的类或方法吗?

0 投票
1 回答
120 浏览

rx-java - RxJava:保留在抛出异常之前插入到沙发数据库中的部分对象列表

要求:

  1. 在特定类型的沙发底座中批量插入文档。
  2. 创建另一个文档,其中仅包含我们在第一步中插入的文档的 ID
  3. 如果第一步在我们停止插入的某个 id 处失败,则第二个文档应该只有那些在异常发生之前插入的 id
  4. 调用是同步的

我是 RxJava 的新手。我写了上面的反应代码,但似乎我还没有清楚地理解一些概念。我的想法是,最后的 forEach 将始终获取发出的项目,如果发生异常,我将捕获它,然后使用 insertIds 列表创建第二个文档。但是,该列表始终包含所有不满足我要求的 ID。

谁能解释一下代码有什么问题以及如何实现上述要求?

0 投票
1 回答
72 浏览

java - Couchbase - find document by regexp using uppercase words

Using couchbase 5.1.1 and java client 2.6.1.

On database, I have bucket with name config and have one document:

Now, I want to find doucment using regular expresion on fields:

If I put word using lowercase e.g.: mail, everything is fine and I recive document, but if I put word using uppercase like MAIL, what is exactly matches with fields value, I have no answear. Can You explain me, why I can't search using uppercase words?

EDIT:

If I put MA.* for regexp - it's not workig, ma.* - was working. I only want to know, why I can't use uppercase on regural expression when I have field value "section" : "MAIL". Why it's not working? but if I put "mail", it means lowercase on regexp, everythink was fine...