【问题标题】:findAll method Mongo Repository - exclude fields to build lighter objectsfindAll 方法 Mongo Repository - 排除字段以构建更轻的对象
【发布时间】:2023-03-04 05:24:02
【问题描述】:

我正在使用 Spring Boot。我想在我的服务上实现 findAll(boolean collapsed) 方法。我使用 MongoRepository 作为 dao,我想使用 findAll 方法。如果这个折叠参数设置为 false,那么我 返回 dao.findAll(), 但如果collapsed设置为true,我想排除一些重字段(如列表)。我可以通过查询和使用输入参数较少的类的构造函数来排除这些字段吗?我是使用 MongoRepository 查询的新手。

提前谢谢你

【问题讨论】:

    标签: spring-boot spring-mvc mongodb-query mongorepository


    【解决方案1】:

    如果使用 MongoRepository,您可以限制字段(请参阅 https://docs.spring.io/spring-data/mongodb/docs/1.3.3.RELEASE/reference/html/mongo.repositories.html

    @Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
    List<Person> findByThePersonsFirstname(String firstname);
    

    如果要根据参数返回不同的字段,可以在 MongoRepository 接口中定义 2 种不同的方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2016-05-21
      • 2012-07-08
      • 1970-01-01
      • 2020-05-03
      相关资源
      最近更新 更多