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) |