Spring Data Mongo:如何通过其字段返回嵌套对象?

马克诺金

我有网域:

class Company {
    List<Job> jobs;
}

有没有一种方法可以从集合中返回嵌套对象,例如:

@Repository
public interface CompanyRepository extends MongoRepository<Company, String>{
    Job findByJobId(String jobId);
}
威姆勒

我必须对您的Job模型的结构做出一些假设,但要假设这样的事情:

public class Job {
    private String id;
    // other attributes and methods
}

...并且假设此模型已嵌入到您的Company模型中,并且未在另一个集合中表示,则您将必须通过MongoTemplateroute进行自定义实现Spring Data查询API不能弄清楚如何获得所需的内容,因此您必须自己实现该方法。

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

public interface CompanyOperations {
    Job findByJobId(String jobId);
}

public class CompanyRepositoryImpl implements CompanyOperations {
    @Autowired private MongoTemplate mongoTemplate;

    @Override
    public Job findByJobId(String jobId){
        Company company = mongoTemplate.findOne(new Query(Criteria.where("jobs.id").is(jobId)), Company.class);
        return company.getJobById(jobId); //implement this method in `Company` and save yourself some trouble.
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用存储库接口在Spring Data中通过其嵌套对象的objectId查找集合?

Spring Data ES 通过嵌套对象日期字段查询

Spring Data Mongo-如何通过@DBRef字段的ID查询

如何在Spring Data Mongo中的聚合投影字段中嵌套字段

Spring Data JPA规范:如何通过其子对象属性过滤父对象

NativeQuery Spring Data返回对象

Spring Data Couchbase:如何重命名嵌套POJO中的字段?

Spring Data Elasticsearch-如何对嵌套字段使用条件

在Spring Data MongoDB中排除嵌套字段

Spring Data Mongo-如何获取嵌套的嵌套数组以获取嵌套值?

嵌套对象的Spring Data Elasticsearch查询数组

使用Spring Data REST保存嵌套对象

Spring Data-JPA多重嵌套对象

Spring Data-JPA多重嵌套对象

Spring Data Mongo @CreatedAt 注释不适用于嵌套文档字段

从Spring Data JpaRepository返回@id字段

通过嵌套对象ID查找Spring Data JPA(嵌套两次)

如何忽略Spring Data Mongo的@Indexed批注

如何通过联接在Spring Data JPA和Spring Boot中添加计数字段

Spring Data Mongo模板返回时间戳而不是普通对象ID

如何使Spring Data Couchbase保留id字段?

如何使用Spring Data的Optional <Object>返回

如何使用Spring Data ElasticSearchTemplate保存对象

Spring Data Mongo-唯一的随机生成字段

spring-data-mongo文档中的计算字段

Spring Data Mongo-查询方法和不同字段

Spring Data MongoDB 聚合 $project 中的表达嵌套字段

Spring Data Elasticsearch嵌套字段多重匹配查询

Spring Data Mongo 返回列表而不是字符串