小编BSM*_*BSM的帖子

Spring Data - 如何编写 MongoRepository 方法进行 findAndModify 操作?

我使用了 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;
} 
Run Code Online (Sandbox Code Playgroud)

//类结构

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

@Document
public class Employee {
    private Integer id;
    private String name;
}
Run Code Online (Sandbox Code Playgroud)

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

mongodb spring-data mongodb-query

5
推荐指数
1
解决办法
3323
查看次数

如何以编程方式覆盖 spring 环境变量

我在 Spring Boot 应用程序中使用 bootstrap.properties 文件。是否可以通过代码覆盖 bootstrap.properties 中定义的属性值。

我知道我们可以通过在运行应用程序时将值作为运行时参数传递来覆盖属性。

尝试通过 System.setProperty() 方法设置变量值。

org.springframework.core.env.Environment 没有任何方法来设置属性。有没有办法在 spring core 环境中添加新属性或覆盖现有属性。

spring spring-boot

3
推荐指数
1
解决办法
3158
查看次数