Mongotemplate更新深层嵌套数组中的字段

时间:2019-05-28 14:40:00

标签: java spring-boot mongotemplate

我正在使用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方法,但不使用此参数

0 个答案:

没有答案