问题标签 [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 回答
497 浏览

java - 在 Couchbase 中使用 CRUD 操作

我是Couchbase的新手用户,我正在尝试将文档插入到默认存储桶中,如下所示。我发现了以下两种将json文档插入桶中的方法:1)通过准备JsonDocument和upsert插入桶中

2) 或者通过使用像 SQL String query = "upsert into default(KEY, VALUE) values(LDATA)" 这样的直接查询

我无法找到如何像 noram sql 语句那样执行上述查询示例:Statement st = connection.createStatement(); 结果集 rs = st.executeQuery(query);

如何使用 N1QLQuery 在 Couchbase Bucket 中插入 json 文档。

我找到了两种获取文档的方法。

i) 使用文档 ID bucket.get("phone").content().get("phoneinfo") 直接获取文档

ii) 使用 N!QueryResultSet N1qlQueryResult result = bucket.query(N1qlQuery.simple("select * from default;"));获取文档

我对在 Couchbase 中的存储桶中插入和获取文档的不同方法感到困惑。如果我使用第一种方法插入文档,我需要准备带有一些键和值的 JsonObject 作为整个 jsondocument。

所以我认为我最好使用第二种方法插入文档,这样我就可以使用 N1QLResultSet(第二种方法)来获取文档。但是通过使用第一种方法,我需要获取存储桶中的文档数量,然后只有我可以遍历所有文档

查询: 1)如何从文档中获取选择性嵌套节点 2)在 json 文档中,我是否需要为每个节点 ant 拆分键值然后放入 JSONObject 以准备 JSONDocument?3)如何为bucket创建一个视图来进行快速检索?

0 投票
2 回答
358 浏览

couchbase - 什么是用于在沙发库中插入文档的等效 N1ql 查询

以下查询用于在使用 Java_client 时从 couchbase 获取文档

如何编写语句以使用上面的 N1qlQuery 将文档插入 Couchbase?

0 投票
4 回答
1415 浏览

java - 如何以编程方式使用 Java 客户端创建和发布索引

是否可以使用 Couchbases Java Client 2.2.2 以编程方式创建和发布二级索引?我希望能够创建和发布运行 Couchbase 4.1 的自定义二级索引。我知道这可能与 Couchbase 视图有关,但我找不到索引。

0 投票
1 回答
311 浏览

couchbase - Couchbase 从副本中获取

我使用带有 Java SDK 的 couchbase 4.0.1。

这是我的代码:

如果我得到 TimeoutException - 我去副本,但上周,由于一个严重的问题,我们从我们的一台服务器得到了 OutOfMemory 异常。当然,我们没有从副本中获取文档,我们自己也遇到了一些例外情况。

我想知道我是否应该在任何异常情况下去副本?

谢谢,

我愿意

0 投票
1 回答
81 浏览

couchbase - 将文档从 CBL 复制到 Couchbase 服务器时设置 TTL

我在我的应用程序中使用以下代码为 CBL 中的文档设置 ttl。如果我是对的,我认为这个 ttl 值不会传播到 couchbase 服务器对吗?

那么如何为从 CBL 复制到 couchbase 服务器的文档设置 ttl,以确保我的服务器自动清理过期文档?我无法从 Couchbase 找到任何可以向我清楚解释这一点的文档。

0 投票
2 回答
649 浏览

couchbase - 如何更新 Couchbase 文档的 TTL?

在更新文档的时候,我需要根据一个字段的值来改变TTL。

Couchbase 是否支持在创建文档后更改 TTL?

0 投票
1 回答
112 浏览

jdbc - 使用 jdbc 到 Couchbase 的连接超时

我正在尝试通过 JDBC 连接到 Couchbase,但它的行为是任意的,因为它多次给出超时异常。我也尝试增加超时时间,但它仍然出错。以下是用于连接 Couchbase 的代码:

此外,我们正在使用罐子:couchbase-core-io-1.2.7.jar 和 couchbase-java-client-2.2.6,我们尝试连接的 couchbase 版本是 Couchbase 版本 4.5.1-2841 企业版

我还尝试使用 .connectTimeout(1000000) 增加超时,但问题仍然存在。

0 投票
2 回答
776 浏览

couchbase - 空值不使用 spring-data-couchbase 持久化到 Couchbase

当我尝试使用持久@DocumentCrudRepository时,对象中的所有空字段都不会写入数据库。

示例(对象 obj):

objRepo.save(obj), field2 不会被写入 Couchbase。

是否有可能覆盖弹簧存储库的行为以保存空值?我是否必须创建自己的MappingCouchbaseConverter,或者可能与TranslationService?

0 投票
1 回答
364 浏览

java - Couchbase 嵌套对象类型

我正在尝试找出在 couchbase 文档中获取嵌套对象类型的最佳方法。

我有这个文件:

Spring data 使用 _class 来找出孔文档类型。

我的问题是:

如何在类别列表中找到每个对象的精确类型?

多谢

0 投票
1 回答
309 浏览

java - 当第一次没有响应时,Couchbase Client Java SDK 不使用另一个集群节点

所以根据这个页面:http: //developer.couchbase.com/documentation/server/current/sdk/java/start-using-sdk.html

看起来很简单,我在 Eclipse 中打开了一个 Maven 项目。为 couchbase 客户端使用最新的 Java SDK:

我的代码,简短而甜蜜:

我的 Couchbase 集群由三个虚拟机上的三个节点组成。使用 docker 部署。它们工作得很好,我还有另一个应用程序使用了 SDK 中的所有强大功能,但是我在进行测试时发现了一些问题:

如果我在节点 10.200.0.11 或/和节点 10.200.0.12 关闭时运行上述代码,一切都很好。我在控制台中得到了一个不错的 json,包括所有三个节点的详细信息!

问题: 如果我运行此代码并且节点 10.200.0.10 已关闭,则它不会尝试使用其他两个节点进行引导,如其文档中的示例中所述。相反,eception 被抛出,应用程序结束。

错误:

我认为这可能与 10.200.0.10 作为协调器有关,并且没有新的协调器会响应集群信息。但根据 Couchbase 架构文档: http: //www.couchbase.com/sites/default/files/uploads/all/whitepapers/Couchbase_Server_Architecture_Review.pdf

如果编排器节点崩溃,现有节点将检测到它不再可用并立即选择新的编排器,以便集群继续运行而不会中断。

似乎如果与 Cluster 对象中节点列表中的第一个节点的连接不可连接,那么它不会尝试另一个可能的错误?