问题标签 [ektorp]

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 投票
2 回答
335 浏览

java - org.ektorp.DbAccessException 如果 POJO 未从 CouchDbDocument 扩展

我的 java 应用程序使用 Ektorp 持久性 API http://ektorp.org/reference_documentation.html连接到 CouchDB以存储和检索对象。我正在尝试存储一个具有少量字符串属性的简单 bean,并使用 CouchDbConnector.create(mybean) 创建文档并使用 CouchDbConnector.get(mybean.class,doumentid) 检索文档。当我使用此处记录的 CouchDBDocument 扩展我的 bean 时http://ektorp.org/reference_documentation.html#d100e355,它在创建和检索文档时运行良好,但如果我不使用 CouchDBDocument 扩展它并注释“id”和此处列出的“修订”属性http://ektorp.org/reference_documentation.html#d100e31

嵌套异常是 org.ektorp.DbAccessException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "_id"

我通过将名称“id”更改为“_id”尝试了各种选项,但它不起作用。另外,我注意到,当我不使用 CouchDbDocument 扩展我的 bean 时,然后在 couchdb 中,文档中会创建一个“id”和“revision”字段以及“_id”和“_rev”。当我扩展 CouchDbDocument 时,不会创建这些字段。知道这里有什么问题吗?

0 投票
0 回答
143 浏览

couchdb - 如何通过 Java API 获取大量 CouchDb 数据?

我正在使用 Ektorp API 从 CouchDB 获取,但要在独立机器上获取 500 万条记录需要 8 分钟(Apporx)。有什么方法可以更快地获取记录。

我在 couchDB 数据库上创建了视图,视图结果包含 5m 条记录。

列表结果 = db.queryView(query, Map.class);

其中 db 是 Ektorp API 中的 CouchDbConnector 类的实例。

0 投票
2 回答
630 浏览

couchdb - 如何使用 ektrop 库在 couchDB 中查找所有文档

我浏览了所有可用于 ektrop 库的博客以及该库的源代码。我发现get(class obj,String id)函数可用,但如果我使用此函数,则只会返回一个文档到给定的ID。所以我想阅读存储桶中所有已更改的文档。我怎样才能实现这一点。提前感谢任何帮助。

0 投票
1 回答
289 浏览

kotlin - Kotlin 突变体

我使用 Ektorp 作为 CouchDB “ORM”,但这个问题似乎比这更笼统。有人可以解释一下有什么区别吗

?

对于第一种情况,Ektorp 没有抱怨,但对于第二种情况,它说:

除此之外,如果我这样做

我得到:

问题是第一个代码片段与第二个代码片段有何不同?在第一种情况下,Ektorp“认为”有一个突变体,但在第二种情况下没有......

这是 Ektorp 在定位方法(setId、setRevision)时似乎使用的代码片段。

0 投票
1 回答
92 浏览

java - 无法从类路径读取 CouchDb 架构

我正在使用本指南通过 Spring-boot: link配置 CouchDb 。当这个 XML 配置文件出现问题

无法验证,因为无法读取ektorp xml 架构。当我通过浏览器链接检查其架构时,没有,但在 maven 依赖项中肯定有一个。但是当我切换这条线时

进入

它也不会被读取,即使它位于名为 couchdb.xsd 的 maven 依赖项之一中。(您可以在github上检查该文件)。

我如何强制 XML 阅读器查看 maven 依赖项以找到正确的模式文件?

0 投票
1 回答
142 浏览

java - 使用 ektorp 在 couchdb 中应用 reduce 后获取分页视图数据

嗨,我想通过应用 reduce 和 pagination 从 couchdb-view 获取数据。

我的观点将reduce函数结果作为复杂键给出如下

我正在尝试使用 ektorp 从 couchdb 获取数据,请检查以下代码

我收到以下错误

0 投票
0 回答
35 浏览

java - 将单独的文档作为一个对象检索

我有两种基本的文档类型:

  • 具有字段名称和编号的患者;
  • 分析包含 3 个数组、分析日期、一堆浮点数和一个患者 ID 的字段,将其链接到患者,因此患者和分析之间存在 1:M 关系。

我正在使用 Ektorp 作为驱动程序。现在有两个 POJO,反映了文档,并且 Patient POJO 也有一个Set<Analysis>, 标记为@DocumentReferences注释(我实际上还不需要,但稍后可能会使用它来显示一个病人的所有分析,例如)。

但是,我想要做的是使用分页来用行填充 TableView,其中包含有关患者和分析的信息,按分析日期降序排序。现在,我唯一的想法是

  1. 查询 CouchDB 以获取按日期排序的所有分析文档(通过 Ektorp 中的 PageRequest 使用分页)
  2. 然后对于具有患者 ID 的患者的每个分析查询数据库
  3. 创建一个单独的类,表示表中包含患者和分析字段的行,然后使用检索到的分析和患者对象创建该类的对象。

在代码中它看起来有点像这样:

这一切听起来很麻烦。有一个更好的方法吗?我可以一次性(或至少在一次查询中)反序列化我需要的数据吗?我知道有一种方法可以{_id: doc.patientId}用作函数中的值,emit()以便在使用 parameter 查询时为每个分析返回 Patient include_docs=true,但我不确定如何利用它来发挥我的优势。

我可以将 Patient 嵌入到 Analysis 中,但是如果 Patient 发生变化,我将不得不更改每个 Analysis 文档,所以这不是一个好的解决方案。我已经多次阅读 两段文档,但我一生都无法弄清楚如何使用 Ektorp 实现它们。任何帮助,将不胜感激。

0 投票
1 回答
1090 浏览

java - Ektorp 依赖崩溃 Spring Boot 应用程序

我正在制作一个网络应用程序。后端是Java,我使用Spring。对于我使用 CouchDb 的数据库,我想使用 Ektorp,但问题来了。当我添加 Ektorp 依赖项时它崩溃了。它可以编译,但是当我尝试运行时,我从下面得到错误。

我尝试更改为不同版本的 Ektorp 或 spring boot,但没有任何效果。下面是我的 Maven pom 文件。可能是什么问题呢?

0 投票
1 回答
404 浏览

java - withSerializationInclusion 功能在最新的 Jackson-databind-2.9.8 中不可用

我试图在 Spring Boot 项目中创建 CouchDBConnector 对象以连接到 CouchDB。所以在创建连接器对象时出现了这个问题。

没有太多关于 Ektorp Github 项目的文档可供尝试。

我希望 CouchDBConnector 对象能够访问 CouchDB 数据库。但我得到的只是这个错误。

我在控制台中遇到的错误是:

以下方法不存在:

该方法的类 com.fasterxml.jackson.databind.SerializationConfig 可从以下位置获得:

它是从以下位置加载的:

0 投票
1 回答
127 浏览

java - org.ektorp.InvalidDocumentException:无法解析类中的 id 访问器

我正在编写一个 java 应用程序以在 CouchDB 上插入数据。为此,我正在使用Ektorp,但遇到了异常org.ektorp.InvalidDocumentException: Cannot resolve id accessor in class

这些是我的 Maven 依赖项:

POJO,如此处所述

存储库:

以及我如何尝试添加:

错误描述:

我不确定我做错了什么。我认为这是杰克逊 JSON 库,我不确定是否使用正确的库,因为它们在文档中的链接不再存在。

我感谢任何帮助