问题标签 [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.
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 的总地图。下面是一个模拟我的问题的示例代码..
无论如何要在没有中间映射的情况下做到这一点(不填充中间数据结构,但只能通过操纵流)?看起来不干净!!. 谢谢。
rx-java - “超过 1 个 Couchbase 环境”警告为配置错误,为什么?
我尝试在论坛上搜索并搜索有关此主题的更有说服力的答案。以下是我发现的:
但是,我仍然不明白上面的答案所指的实际“不可预测的行为”和“资源”是什么。任何人都可以帮忙给出更详细的解释吗?
假设我正在使用带有DefaultCouchbaseEnvironment
构建器的 Java SDK,如果我构建两个具有不同超时/kvendpoints/其他参数的环境,一个会如何影响另一个?环境中有没有静态共享模块?
这会在某种程度上与 RxJava 计算调度程序/io 相关吗?
couchbase - 视图不会更新以添加以前被忽略的对象
文档插入存储桶后,视图中没有文档。
我的文件:
查看索引代码:
我的观点查询:
使用 curl 添加文档时会更新视图。
但是当您使用程序添加视图时,视图不会更新。
我是否需要运行一个程序来以编程方式更新视图?
更新 2:
问题是时差。添加文档时,由于日期条件不匹配,视图不会更新。
但是,添加文档后,即使满足视图条件,视图也不会更新。
例如:
java - Couchbase 集群 - 发现 Java SDK2 的不可用服务器
在 Java SDK1 中,可以获取不可用节点的地址:
Java SDK2 中的等价物是什么?
java - 在 Java 中使用 Couchbase SDK
我正在尝试将 couchbase 查询的结果映射到 java 引用类型,到目前为止我还没有找到这样做的方法。如何将以下内容捕获为 java 引用类型:
如何将此“客户”转换为 java 对象?这样做的最佳方法是什么,couchbase SDK 不为此提供一些解决方案吗?
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:
在这一点上,我被这个错误震惊了,我不知道如何修复它......我该如何修复它?
couchbase - 从 CouchDB 和 Couchbase-lite 同步和删除已删除的文档
我目前在我的 iOS 和 android 应用程序中使用 couchbase-lite 从运行 CouchDB 的数据库同步文件。
我经常删除不再需要的文件,并且我希望从移动应用程序中删除相同的文件,但是任何拉复制只会拉更新或新文件,并且不会触发移动应用程序上的删除。
有没有办法从移动应用程序中删除不再在服务器数据库上的文档,而无需对移动应用程序进行完全清除,然后重新同步整个数据库?
spring-data - 订阅长时间运行的异步查询
我正在尝试从 Couchbase 响应式获取大型数据集。我使用ReactiveCouchbaseRepository
spring数据提供的。
在我的服务中,我订阅如下
在我的测试数据集上这工作正常,但是在生产中,查询返回一个大数据集并运行大约 20-25 秒。
我的理解是,这正是响应式存储库的用途:消耗大量结果而不需要显式分页等。
然而,我得到的是IllegalStateException
提高autoreleaseAfter
超时似乎不是一个可靠的解决方案。在发布第一个结果元素之前,似乎整个结果都在 Couchbase 中缓冲。
我有什么问题吗?关于问题或解决方案可能是什么的任何想法?
编辑
我发现的一个问题是订购。我假设 Couchbase 必须先获取整个结果集,然后才能对其进行排序。删除ORDER BY
子句后,我可以流式传输结果,但仅限于直接使用 java SDK 时。
以下代码工作并立即开始流式传输数据:
但是,如果我在 a 中使用完全相同的查询ReactiveCouchbaseRepository
,则需要几秒钟,然后抛出上面显示的异常。
有人知道不同的行为可能来自哪里吗?有人可以指出在 spring 数据代码中使用实际 java SDK 的类或方法吗?
rx-java - RxJava:保留在抛出异常之前插入到沙发数据库中的部分对象列表
要求:
- 在特定类型的沙发底座中批量插入文档。
- 创建另一个文档,其中仅包含我们在第一步中插入的文档的 ID
- 如果第一步在我们停止插入的某个 id 处失败,则第二个文档应该只有那些在异常发生之前插入的 id
- 调用是同步的
我是 RxJava 的新手。我写了上面的反应代码,但似乎我还没有清楚地理解一些概念。我的想法是,最后的 forEach 将始终获取发出的项目,如果发生异常,我将捕获它,然后使用 insertIds 列表创建第二个文档。但是,该列表始终包含所有不满足我要求的 ID。
谁能解释一下代码有什么问题以及如何实现上述要求?
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...