问题标签 [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.
java - 如何在沙发库的全文搜索索引中对 desc/asc 进行排序
我有这个查询要从我的应用程序中针对全文搜索沙发库索引执行:
如何指定 createionDateTime 的排序方向?
谢谢你的帮助
java - 比较和交换:如何将 cas 元数据字段映射到我的沙发库的文档实体
我正在使用 spring 数据从 couchbase 获取文档,我需要将检查和设置元数据字段cas映射到我的文档以实现乐观锁。
我怎么能不使用 n1ql 查询呢?
谢谢
java - Couchbase 批量子文档操作
我正在使用 Couchbase-Java SDK 2.7.1 并尝试对一组文档键执行批量 subdoc 操作。下面的代码没有抛出任何错误,但在执行给定代码后文档没有得到更新。
spring - 如何使用 Spring Data Couchbase SDK 生成带前缀的唯一 ID?
我想知道如何使用 Couchbase SDK生成带有前缀的唯一 ID,例如user::524525 。
当我使用 Couchbase JavaSDK 指南开始使用 Couchbase 时,我注意到在所有示例中,id 看起来都类似于 TYPE::ID,例如 user::king_arthur。也建议这样做以避免不同文档的 id 冲突。当我从 Spring Data Couchbase 阅读文档时,我认为这样做的方法是
但是当我对此进行测试并签入数据库时,ID 只是“用户”。
我错过了什么吗?它是一个错误吗?我将不胜感激任何建议。
spring - 用新的集群替换 spring couchbaseTemplate 对象,Bucket 对象而不影响事务或重新启动应用程序
我想替换由自定义 Bucket 对象(其中用户名是 <> bucketName)和 Cluster 对象在启动时生成的 spring couchbaseTemplate 对象。我能够创建应用程序并使应用程序运行。CouchbaseTemplate 也被调用。2 天后,我将获得新的用户名、密码。所以我想在 spring 上下文中重新加载 couchbaseTemplate、Cluster 和 Bucket - 3 个新对象,以便新的 couchbaseTemplate 开始运行。我试图从 applicationContext 替换 couchbaseTemplate通过调用。
但是这段代码对我不起作用,并且说 bean 仍然存在于上下文中。我的问题是
- 这是正确的做法吗?
- 有没有更简洁的方法来设置 couchbaseTemplate、cluster 和 Bucket 对象而不影响实时事务。
- RefreshScope 方法在这里重新加载 bean 有帮助吗?但是,这并不能保证所有依赖的 bean 重新加载都依赖于用 @RefreshScope 注释的 bean。
couchbase DB 的点击量是 100/second 。
进一步的发现我进一步尝试发现可以修改 spring-data-couchbase 存储库以允许使用 AtomicReference 在 CouchbaseTemplate.java 中设置 Bucket 以供客户端使用 Bucket
用 getClient() 方法替换所有客户端
但是,当我交换使用新用户名和密码创建的存储桶时,我会在第一次请求时收到 requestCancelledInFlightException。请建议。
couchbase - 如何在 Couchbase 中使用 SearchQuery/全文搜索按日期类型排序?
我已经配置并索引了接收日期。在我的数据库中看起来像 receivedDate:"2019-02-130 01:01:01 PM"。如何使用日期类型文本或日期类型实例进行排序?
这是配置的字段(假设没有任何错字以防万一)。
我想按名称排序,然后按接收日期排序
这是全文索引的样子:
observable - 使用JavaRX将文档插入沙发库时引发DocumentAlreadyExistsException异常时如何继续下一个文档?
我正在处理读取、转换和写入文档到 coucbase 的批处理作业。我正在使用 Java 批量插入文档。我不想使用 upsert,因为我想记录文档是否已经存在于 couchbase 中并调用了 insert。请在下面找到我的代码。当文档已经存在时,会抛出 DocumentAlreadyExistsException 并且作业会停止,而不是继续处理下一个文档。如何处理这个问题?
代码:
例外:
couchbase - 将具有带有“IN”参数的“where”子句的 N1Ql 查询转换为 mapreduce 视图
我有一个简单的select
查询,哪个mapreduce
视图已经存在。
询问:
看法:
查询视图的键:
要求:现在,我们希望此视图支持具有参数IN
子句的查询status
。此外,我们想添加额外的参数支持IN
参数。示例N1Ql
如下。
如何在视图上编写查询来完成此操作?我想到的唯一解决方案是在视图上触发多个(比如说 x)查询
有没有更好的解决方案,例如批量执行此查询(使用java
SDK)或单个mapreduce
查询?
couchbase - 如何在使用 couchbase 子文档 api 执行更新时获取 CAS 值?
我想对文档进行更新。我正在使用 couchbase subdocument api 来更新文档。
在执行更新时,我手头只有文档 ID。但是,要获得当前的 Cas 值,我必须执行 get to the couchbase。
我的更新看起来像:
为了处理乐观锁定,我想使用"mutateIn(id).withCas(<currentcasvalue>)"
在执行更新时,我手头只有文档 ID。但是,要获得当前的 Cas 值,我必须执行 get to the couchbase。 有没有办法避免获取整个文档,以便只获取 cas 值来执行更新。
这是正确的方法吗?