Java Spring Data Mongodb 1.10 排序忽略案例

Posted

技术标签:

【中文标题】Java Spring Data Mongodb 1.10 排序忽略案例【英文标题】:Java Spring Data Mongodb 1.10 Sort Ignore Case 【发布时间】:2018-07-24 02:28:23 【问题描述】:

在 Spring Data mongo 存储库上运行排序查询时,排序区分大小写。但是,我想得到忽略大小写的查询结果。

此问题已在here 进行了描述,并且在Query 上设置Collation 有一个有效的答案。不幸的是,Collation 类仅在 Spring Data MongoDb 2 中引入,SpringBoot 父 starter pom 尚不支持该类,因此如果可能的话,如果不使用 starter pom,我希望避免所需的依赖调整。

是否有任何解决方法可以在 Spring Data MongoDb 1.10 上获得相同的结果?

【问题讨论】:

【参考方案1】:

要更新 spring-data 模块,您必须更新整个发布序列。不幸的是,AFAIK 没有火车版本列表,但是 Kay 基于 Spring Data 2.x。只需将属性添加到您的 pom.xml

<spring-data-releasetrain.version>Kay-SR3</spring-data-releasetrain.version>

【讨论】:

这种方法需要手动调整 Spring Boot 自动配置处理的很多事情(重新打包 Spring Boot 自动配置使用的方法,实现接口的新数据配置类,但在类扩展层次结构中缺少抽象方法实现,例如HateoasAwareSpringDataWebConfiguration 并在配置期间导致 AbstractMethodError,Spring Data Classes 实现 Spring Boot Autoconfig 接口,但未实现所有方法)。添加带有大写字符串的附加列以用于排序可能会更容易。

以上是关于Java Spring Data Mongodb 1.10 排序忽略案例的主要内容,如果未能解决你的问题,请参考以下文章

将 mongodb 聚合查询翻译成 Java/Kotlin Spring Data

如何利用spring data mongodb 进行多条件查询

JAVA 处理 Spring data mongodb 时区问题

Spring -Data MongoDB问题与作为接口的字段

Java Spring Data Mongodb 1.10 排序忽略案例

spring data mongodb枚举映射转换器