gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:34:57 26 4
gpt4 key购买 nike

我想知道如何在可能的情况下使用 mongoTemplate 对 Spring Data MongoDB 执行查找查询但不返回整个文档?使用来自 MongoDB 的“本地”Java Sync 驱动程序,我可以这样做:

Document document = myCollection.find(eq("something", 12)).sort(descending("field")).limit(1).projection(include("field")).first();

这样文档只包含“字段”,没有其他内容。

我怎样才能对 mongoTemplate 做同样的事情,因为在使用 mongoTemplate.findOne(..) 时我似乎找不到类似于 projection 的东西>。您是否需要使用聚合管道通过 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<User> john = mongoTemplate.find(query, User.class);

文档引用:data/mongodb/core/query/Field

关于spring - 使用 Spring Data MongoDB 中的 MongoTemplate 进行查找查询时仅投影某些字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63422873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com