gpt4 book ai didi

java - spring mongoTemplate 查找专栏

转载 作者:可可西里 更新时间:2023-11-01 09:46:08 26 4
gpt4 key购买 nike

我可以使用 mongoTemplate 或其他类/接口(interface)来查找集合中的一个/多个列吗?

例如,如果我只想从集合中获取名称:users(name, password, age, email),我该怎么办?

最佳答案

您可以使用 Query.fields() 方法指定查询返回的字段。

因此在您的情况下,假设用户集合映射到 User 类,查询可能如下所示:

Query query =new Query(whatever criteria you have);
query.fields().include("name");
List<User> list = template.find(query, User.class);

另一种方法是扩展 MongoRepository 并指定字段 qith Queryannotation:

public interface UserRepository extends MongoRepository<User, String> {

@Query(fields="{ 'name' : 1}")
List<User> findUserNames();

}

findUserNames 应该返回仅初始化了 name 和 id 字段的 User 实例。

编辑

从外观上看,spring-data-mongo 没有注册到 String 的转换器,因此您必须检索 User将查询中包含的字段以外的所有字段设置为 null 或创建并注册一个转换器。

关于java - spring mongoTemplate 查找专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949870/

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