日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题

發布時間:2025/4/5 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在使用Spring-Data-mongodb對MongoDB執行各種請求.

嘗試執行分頁&時用忽略的情況排序我得到一個例外,

這是我的代碼:

Sort.Order order = new Sort.Order(ascending? Sort.Direction.ASC: Sort.Direction.DESC, sortKey).ignoreCase();

Query query = new Query(filter).with(new PageRequest(page, size, new Sort(order)));

return mongoTemplate.find(query, clazz,collection);

注意在Sort.Order對象上應用的.IgnoreCase()方法.

Query .with方法失敗,并引發異常:

java.lang.IllegalArgumentException: Given sort contained an Order for lastName with ignore case! MongoDB does not support sorting ignoreing case currently!

at org.springframework.data.mongodb.core.query.Query.with(Query.java:179)

at org.springframework.data.mongodb.core.query.Query.with(Query.java:162)

如果刪除.IgnoreCase()方法,即執行以下代碼:

Sort.Order order = new Sort.Order(ascending? Sort.Direction.ASC: Sort.Direction.DESC, sortKey);

Query query = new Query(filter).with(new PageRequest(page, size, new Sort(order)));

return mongoTemplate.find(query, clazz,collection);

一切正常,除了我當然不會得到不敏感的排序結果.

因此我可能會得到A B C a1 a2而不是A a1 a2 BC.

即使該異常提到mongoDB不支持IgnoreCase排序,但我使用的是mongo 3.4,據我所知,它確實支持可分頁排序(Here’s the official JIRA issue regarding insensitive search feature added)的ignoreCase選項,而spring-data-mongodb軟件包為1.8.

解決方法:

對不起,如果我的評論不清楚.您必須使用排序查詢發送歸類.

強度主要和次要都將提供不區分大小寫的排序.確保在排序查詢中使用確切的排序規則條件以利用索引.

Sort.Order order = new Sort.Order(ascending? Sort.Direction.ASC: Sort.Direction.DESC, sortKey);

Query query = new Query(filter).with(new PageRequest(page, size, new Sort(order)));

query.collation(Collation.of("en").strength(Collation.ComparisonLevel.secondary()));

return mongoTemplate.find(query, clazz,collection);

標簽:mongodb,spring,java,spring-mvc

來源: https://codeday.me/bug/20191110/2013875.html

總結

以上是生活随笔為你收集整理的java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。