使用Spring Data MongoDB中的MongoTemplate进行查找查询时,是否仅投影某些字段?

使用Spring Data MongoDB中的MongoTemplate进行查找查询时,是否仅投影某些字段?,spring,mongodb,spring-data-mongodb,mongotemplate,Spring,Mongodb,Spring Data Mongodb,Mongotemplate,如果可能的话,我想知道如何使用mongoTemplate使用Spring数据MongoDB执行find查询,但不返回整个文档?使用MongoDB的“本机”Java同步驱动程序,我可以这样做: Document document = myCollection.find(eq("something", 12)).sort(descending("field")).limit(1).projection(include("field")).f

如果可能的话,我想知道如何使用
mongoTemplate
使用Spring数据MongoDB执行find查询,但不返回整个文档?使用MongoDB的“本机”Java同步驱动程序,我可以这样做:

Document document = myCollection.find(eq("something", 12)).sort(descending("field")).limit(1).projection(include("field")).first();
因此,
文档
仅包括“字段”,而不包括其他内容

使用
mongoTemplate.findOne(…)
时,我似乎找不到类似于
projection
的东西,因此如何使用
mongoTemplate做同样的事情呢。是否需要使用聚合管道对
mongoTemplate
执行此操作

我使用的是Spring Data MongoDB版本3.0.1.RELEASE(Spring boot 2.3.3)。

您可以在查询中使用
include()
exclude()
选项

例:

Query Query=new Query();
query.fields().include(“name”).exclude(“id”);
List john=mongoTemplate.find(查询,User.class);
文件参考:

Query query = new Query();
query.fields().include("name").exclude("id");
List<User> john = mongoTemplate.find(query, User.class);