Spring MongoDB JAVA排序查询

问题描述 投票:0回答:1

我尝试使用下面的代码来缩短 id(string) 参数,但它没有正确排序。

// Apply sorting 
   if (sort != null) {
   query.with(Sort.by(Sort.Direction.DESC, sort));

// Apply sorting
if (sort != null) {
    Sort sortOptions = Sort.by(Sort.Order.desc(sort)); // Sort in descending order
    query.with(sortOptions);
}

输出

假设 ID 为 5、10 和 11。 它给出 5 -> 11 -> 10 但它应该是 11, 10, 5。

java spring-boot java-8 mongodb-query microservices
1个回答
0
投票

这是正确的,因为您按

String
排序,而不是
Integer
'10' < '5'

您可以考虑的一个选项是使用

Long
Integer
创建另一个字段进行排序。 示例
Sort.by(Sort.Direction.ASC, "numbericFieldName")

© www.soinside.com 2019 - 2024. All rights reserved.