MongoTemplate联表查询以表2字段倒序排列,该字段是number类型,且正序排序是正确的,为什么倒序错乱了
时间: 2023-05-27 10:01:55 浏览: 112
可能是由于number类型的排序方式与我们的预期不同导致的。在MongoDB中,number类型的排序是按照字典序进行的,而不是按照数值大小进行的。因此,倒序排列时需要注意与正序排序不同的排序方式。
解决该问题的方法可能是将number类型的值转换为可以正确排序的值,例如将其转换为字符串类型,并在查询中使用MongoDB的$sort操作符进行排序。另外,如果字段中包含非数字字符,则需要对其进行处理以确保正确排序。
相关问题
MongoTemplate联表查询以表2字段倒序排列,但是查询结果只有表1字段,该字段是number类型,且正序排序是正确的,为什么倒序错乱了
可能是由于MongoTemplate内部默认的排序方式不同。尝试使用以下代码将第二个参数改为Sort(Direction.DESC, "表2字段"):
```java
Query query = new Query();
query.with(new Sort(Sort.Direction.ASC, "表1字段"));
query.with(new Sort(Sort.Direction.DESC, "表2字段"));
List<表1实体类> result = mongoTemplate.find(query, 表1实体类.class);
```
这样应该可以实现以表2字段倒序排列,同时查询结果只有表1字段的效果。
阅读全文