In MongoDB, Projections are a way to fetch only the required fields of a document from a database. This reduces the amount of data that has to be transferred from database server to client and hence increases performance.
@Document public class User { @Id private String id; private String name; private Integer age; // standard getters and setters }
Projections Using MongoTemplate
Query query = new Query(); query.fields().include("name").exclude("id"); List<User> john = mongoTemplate.find(query, User.class);
Projections Using MongoRepository
@Query(value="{}", fields="{name : 1, _id : 0}") List<User> findNameAndExcludeId();
References
https://www.baeldung.com/spring-data-mongodb-projections-aggregations