如何使用 Spring Boot 更新 MongoDB 集合中的子对象?
How to update a sub-object in a MongoDB collection with Spring Boot?
我是 Spring Data 和 Whosebug 的新手。
为简单起见,在我的数据库中我有一个 'user' 集合,其中我有一个用户文档,其中包含一个 'myApp' 子对象和一个 'param' 子对象。
目前我可以在我的用户文档中更新插入 'param' 除了我想做的是更新到 'myApp' 中的 'param'。
请问有什么好的做法?
这是我当前的请求:
public ResponseEntity<?> setParam(String key, Param param){
Query q = new Query(Criteria.where("_id").is(Auth.getUserId(key)));
q.fields().include("myApp");
Update u = Update.update("param", param).set("param", param);
mongoTemplate.findAndModify(q, u, new FindAndModifyOptions().returnNew(true).upsert(false), User.class);
return null;
}
提前致谢!
好的,我尝试了很多东西,终于找到了解决方案!
在 .update 中执行“myApp.param”和在 .set 中执行“myApp.param”就足够了!
希望对其他人有用。
我是 Spring Data 和 Whosebug 的新手。
为简单起见,在我的数据库中我有一个 'user' 集合,其中我有一个用户文档,其中包含一个 'myApp' 子对象和一个 'param' 子对象。
目前我可以在我的用户文档中更新插入 'param' 除了我想做的是更新到 'myApp' 中的 'param'。
请问有什么好的做法?
这是我当前的请求:
public ResponseEntity<?> setParam(String key, Param param){
Query q = new Query(Criteria.where("_id").is(Auth.getUserId(key)));
q.fields().include("myApp");
Update u = Update.update("param", param).set("param", param);
mongoTemplate.findAndModify(q, u, new FindAndModifyOptions().returnNew(true).upsert(false), User.class);
return null;
}
提前致谢!
好的,我尝试了很多东西,终于找到了解决方案!
在 .update 中执行“myApp.param”和在 .set 中执行“myApp.param”就足够了!
希望对其他人有用。