gpt4 book ai didi

mongodb - Spring 启动 : Get an object from MongoDB document?

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

我正在使用 Spring Boot 2.1.3.RELEASE 和 MongoDB。我正在寻找一种方法来检索文档的一部分。

存储库:

@Repository
public interface CompanyRepository extends MongoRepository<Company, String> {
}

对象:

@Data
@Document
public class Company {

public GeneralInfo info;
public Map<String, List<Employee>> officeIdEmployeeMap;

@Data
public class GeneralInfo {
@Id
public String companyId;
public String name;
}

@Data
public class Employee {
public String firstName;
public String lastName;
}
}

我只需要得到 GeneralInfo对象,然后如果某些条件为真,则获取 List<Employee>来自 officeIdEmployeeMap ,而不是整个 map 。这可以通过 MongoRepository 完成吗?

最佳答案

这可以通过 MongoTemplate 实现。

finalString officeName = "IT";
final Query query = new Query();
query.addCriteria(Criteria.where("officeIdEmployeeMap." + officeName).exists(true));
query.fields().exclude("officeIdEmployeeMap");

final Company company = mongoTemplate.findOne(query, Company.class, "collection");

这将返回 Company 对象,但只会设置 GeneralInfo

关于mongodb - Spring 启动 : Get an object from MongoDB document?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56276054/

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