【发布时间】:2017-03-22 22:41:57
【问题描述】:
我使用了 MongoTemplate 的 findAndModify 方法,如下所示,
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;
}
我想使用 Spring Data MongoRepository 方法实现上述目标。请告诉我如何使用 MongoRepository 方法更新员工姓名。
【问题讨论】:
标签: mongodb mongodb-query spring-data