Mongodb Spring数据-如何编写用于查找和修改操作的MongoRepository方法?

Mongodb Spring数据-如何编写用于查找和修改操作的MongoRepository方法?,mongodb,mongodb-query,spring-data,Mongodb,Mongodb Query,Spring Data,我使用了MongoTemplate的Find和Modify方法,如下所示 public Organization findAndModifyOrganization(Integer orgId, String name, Integer empId) { Query query = new Query(); query.addCriteria(Criteria.where("employees.id").is(empId)); query.addCriteria(Cri

我使用了MongoTemplate的Find和Modify方法,如下所示

 public Organization findAndModifyOrganization(Integer orgId, String name, Integer empId)
{
    Query query = new Query();
    query.addCriteria(Criteria.where("employees.id").is(empId));
    query.addCriteria(Criteria.where("id").is(orgId));

    Update update = new Update();
    update.set("employees.$.name", name);
    Organization org = mongoTemplate.findAndModify(query, update, new FindAndModifyOptions().returnNew(true), Organization.class);

    return org;
} 
//阶级结构

@Document
public class Organization {
    private Integer id;
    private List<Employee> employees;
}

@Document
public class Employee {
    private Integer id;
    private String name;
}
@文档
公营班级组织{
私有整数id;
私人名单雇员;
}
@文件
公营雇员{
私有整数id;
私有字符串名称;
}

我想用Spring Data MongoRepository方法实现上述功能。请告诉我如何使用MongoRepository方法更新员工姓名。

因为我认为这是不可能的。在后台,存储库的概念似乎更一般,以支持不同的数据库

如果您需要完全的灵活性,您可以不使用spring生成的存储库特性,而使用您自己的实现。您还可以为存储库创建自己的基类,以帮助重用经常需要的函数。在SpringDataMongoDB中,您可以找到类
org.springframework.Data.MongoDB.repository.support.SimpleMongoRepository
,可以将其用作起点

另请参见此线程中的答案: