findAll 方法 Mongo Repository - 排除字段以构建更轻的对象

findAll method Mongo Repository - exclude fields to build lighter objects

我正在使用 Spring Boot。我想在我的服务上实现 findAll(boolean collapsed) 方法。我正在使用 MongoRepository 作为 dao,我想使用 findAll 方法。如果这个 collapsed 参数设置为 false,那么我 return dao.findAll(), 但如果折叠设置为真,我想排除一些重字段(如列表)。我可以使用查询排除这些字段并使用输入参数较少的 class 的构造函数吗?我刚开始使用 MongoRepository 进行查询。

提前致谢

如果使用 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);

如果你想return基于参数的不同字段,你可以在 MongoRepository 接口中定义 2 个不同的方法