我正在使用mongo驱动程序3.8.2和spring-data-mongo 2.1.6。并尝试使用mongoTemplate更新嵌套数组中的字段,但不起作用
我尝试了此处提到的两种解决方案,但无法使用How to apply update using Filtered positional operator with arrayFilters
Query query = new Query();
Update update = new Update();
query.addCriteria(Criteria.where("_id").is(parentPrice.getSapId()).and("commercialOrganizationPrice.commercialOrganization").is(priceBean.getCommercialOrganization()));
update.set("commercialOrganizationPrice.commercialOrganization.$.components.$[product].amountDistribution",200);
UpdateOptions updOption = new UpdateOptions()
.arrayFilters(
Arrays.asList( Filters.eq("product.productIdComponent","OCFR") )
);
template.updateMulti(query,update,parentPrice.class);
我想将updOptions添加到updateMulti方法,但不使用此参数