首页
学习
活动
专区
圈层
工具
发布

使用Spring Data Repository向mongo JSON @Query添加排序

使用Spring Data Repository向MongoDB JSON @Query添加排序,可以通过在查询方法中添加一个参数来实现。以下是一个示例:

首先,在你的Repository接口中,添加一个新的方法,如下所示:

代码语言:java
复制
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.stereotype.Repository;

@Repository
public interface MyEntityRepository extends MongoRepository<MyEntity, String> {

    @Query("{ 'fieldName': ?0 }")
    List<MyEntity> findByFieldName(String fieldName, Sort sort);
}

在这个示例中,我们添加了一个新的方法findByFieldName,它接受一个字符串参数fieldName和一个Sort对象。@Query注解用于指定查询的条件,这里我们查询fieldName字段的值。

接下来,在你的Service类中,调用这个方法并传递一个Sort对象来实现排序:

代码语言:java
复制
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

@Service
public class MyEntityService {

    private final MyEntityRepository repository;

    public MyEntityService(MyEntityRepository repository) {
        this.repository = repository;
    }

    public List<MyEntity> findByFieldName(String fieldName, Sort sort) {
        return repository.findByFieldName(fieldName, sort);
    }
}

在这个示例中,我们创建了一个新的Service方法findByFieldName,它接受一个字符串参数fieldName和一个Sort对象。然后,我们调用MyEntityRepositoryfindByFieldName方法并传递这些参数。

最后,在你的Controller类中,调用Service方法并传递一个Sort对象来实现排序:

代码语言:java
复制
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyEntityController {

    private final MyEntityService service;

    public MyEntityController(MyEntityService service) {
        this.service = service;
    }

    @GetMapping("/findByFieldName")
    public List<MyEntity> findByFieldName(@RequestParam("fieldName") String fieldName,
                                           @RequestParam(value = "sortBy", defaultValue = "asc") String sortBy) {
        Sort sort = Sort.by(sortBy);
        return service.findByFieldName(fieldName, sort);
    }
}

在这个示例中,我们创建了一个新的Controller方法findByFieldName,它接受一个字符串参数fieldName和一个sortBy参数。然后,我们使用Sort.by()方法创建一个Sort对象,并将其传递给Service方法。

这样,你就可以使用Spring Data Repository向MongoDB JSON @Query添加排序了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MongoDB系列三(Spring集成方案).

Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 通过注解实现对象-文档映射; 使用MongoTemplate实现基于模板的数据库访问; 自动化的运行时Repository...二、集成实现 启用MongoDB     为了有效的使用Spring Data MongoDB,我们需要在Spring配置中添加几个必要的bean。...首先,我们需要配置MongoClient,用它来创建Mongo实例,以便于访问MongoDB数据库。在这里,我们使用Spring Data MongoDB的MongoFactoryBean更加简单。...此外,不是必须,但是强烈推荐启用Spring Data MongoDB的自动化Repository生成功能。...四、MongoDB Repository     Spring Data JPA Repository 有一个神奇的功能 —— 创建一个接口,我们只要按照一定的命名规则编写接口的方法,Spring

4.1K70

MongoDB的Spring配置使用

Spring-data对MongoDB进行了很好的支持,接下来就讲解一下关于Spring对MongoDB的配置和一些正常的使用 我下面的工程使用的是Spring的Java配置的方式和Maven构建 ①MongoDB...(Sort) 为指定Repository类型,返回排序后的所有文档列表 T findOne(ID) 为指定的ID返回单个文档 Save(terable) 保存指定Iterable中的所有文档 save(...0}") List findChucksOrders(String t); @Query中给定的JSON将会与所有的Order文档进行匹配,并返回匹配的文档,这里的type属性映射成“?...; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query...; import org.springframework.data.mongodb.repository.Query; import springmvc.bean.Order; //继承OrderOperations

2K20
  • springboot(十一):Spring boot中mongodb的使用

    mongodb的增删改查 Spring Boot对各种流行的数据源都进行了封装,当然也包括了mongodb,下面给大家介绍如何在spring boot中使用mongodb: 1、pom包配置 pom包里面添加...> 2、在application.properties中添加配置 spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test 多个IP...多数据源mongodb的使用 在多mongodb数据源的情况下,我们换种更优雅的方式来实现 1、pom包配置 添加lombok和spring-boot-autoconfigure包引用 spring-boot-autoconfigure - 就是spring boot的自动化配置 2、配置文件使用YAML的形式添加两条数据源,如下: mongodb: primary: host...4、创建两个库分别对应的对象和Repository 借助lombok来构建对象 @Data @AllArgsConstructor @NoArgsConstructor @Document(collection

    2.8K61

    SpringBoot ( 十一 ) :SpringBoot 中 mongodb 的使用

    mongodb的增删改查 Spring Boot对各种流行的数据源都进行了封装,当然也包括了mongodb,下面给大家介绍如何在spring boot中使用mongodb: 1、pom包配置 pom包里面添加...> 2、在application.properties中添加配置 spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test 多个IP...多数据源mongodb的使用 在多mongodb数据源的情况下,我们换种更优雅的方式来实现 1、pom包配置 添加lombok和spring-boot-autoconfigure包引用 使用YAML的形式添加两条数据源,如下: mongodb: primary: host: 192.168.9.60 port: 20000 database: test...4、创建两个库分别对应的对象和Repository 借助lombok来构建对象 @Data @AllArgsConstructor @NoArgsConstructor @Document(collection

    1.5K20

    尚医通-MongoDB

    5、Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。...mymongo -v /data/db:/data/db -d mongo 进入容器 docker exec -it mymongo /bin/bash 使用MongoDB客户端进行操作 mongo...sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。...在application.properties文件添加配置 spring.data.mongodb.uri=mongodb://192.168.91.166:27017/test # 基于MongoTemplate...要注意的是:条件属性首字母需要大写 支持属性的级联查询,但若当前类有符合条件的属性则优先使用,而不使用级联属性,若需要使用级联属性,则属性之间使用_强制进行连接 # 添加 Repository 类 @

    4.4K30

    mongodb 速成笔记

    启动成功后,可以用 mongo 命令来连接 ➜ ~ mongo MongoDB shell version: 3.2.4 connecting to: test > 然后就可以直接使用各种命令来操作db...CRUD,但是更多情况下,我们是在代码里完成这些操作的,所以下面说下如何利用spring-data-mongo来操作mongo,以gradle项目为例,下面的代码参考了spring官方的示例代码 4.1...'  其实关键的只有一行: compile 'org.springframework.data:spring-data-mongodb:1.8.4.RELEASE' 4.2 spring配置文件 1...更详细的方法名与类属性的默认约定,可参考:http://docs.spring.io/spring-data/data-mongo/docs/1.8.4.RELEASE/reference/html/...; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query

    1.1K50
    领券