![]() | 1 lxz6597863 2021-08-23 11:41:28 +08:00 |
![]() | 2 ch2 2021-08-23 12:57:42 +08:00 find_and_modify |
![]() | 3 libook 2021-08-23 19:22:29 +08:00 via Android 之前研究过这个问题,MongoDB 最小操作单位是 document,官方给出的建议是,如果希望频繁操作数组里的元素,最好拆成单独的集合…… |
4 dumbbell5kg OP 谢谢大家的回复,使用 mongodb 的$[<identifier>]和 arrayFilters 可以达到目的,代码如下: mongoTemplate.updateFirst(query(where("_id").is(id)), new Update().set("menuStakeholder.$[x]", data).filterArray(where("x.groupId").is(groupId)), xxx.class) |