排序方式 Spring 数据 MongoDb

SortBy Spring Data MongoDb

我已将我的查询从 postgres 传递到 mongodb,一切正确。但是在排序中,我看不到如何将它集成到 @Query 中,如示例 sql

// sql-postgres(存储库)

@Query("select c from ClienteElser c where c.securityDomainId IN (2,10) and c.deleted is null order by c.razonSocial")

//mongodb(存储库)

@Query("{security_domain_id: { $in: [2,10] },'deleted':null}")
public List<Cliente> findAllByOrderByRazonSocialAsc(Sort sort);

//服务

Sort sort = new Sort(Sort.Direction.ASC, "razon_social");
    List<Cliente> result = clienteRepository.findAllByOrderByRazonSocialAsc(sort);

目前我已经修复了它,但我更希望它在@Query

还有大写字母优先的顺序,不知如何避免。示例:"ACS" 在 "Abalos"

之前

有人可以帮助我将@Query 中的排序与 mongodb 集成,并且大写和小写之间没有区别

谢谢

这已在 DATAMONGO-1979 的 Lovelace 版本中解决(又名 Spring 数据 MongoDB 2.1.0)。

它将允许通过 @Query 注释为存储库查询方法设置默认排序。

@Query(sort = "{ age : -1 }")
List<Person> findByFirstname(String firstname);

使用显式 Sort 参数和带注释的参数允许通过注释更改默认设置。方法参数 Sort 参数将添加到 / 或根据使用的字段覆盖带注释的默认值。

@Query(sort = "{ age : -1 }")
List<Person> findByFirstname(String firstname, Sort sort);