sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan anvender du opdatering ved hjælp af filtreret positionsoperator med arrayFilters

Det skulle være:

WriteResult wr = getMongoTemplate().updateMulti(
  new Query(where("rates.rateCardId").is(1234)),
  new Update().set("rates.$[item].rate", 200),
  new UpdateOptions()
    .arrayFilters(
      Arrays.asList( Filters.in("item.rateCardId",Arrays.asList(1,2)) )
    ), 
  ProductRates.class
);

Du skal sikre dig, at den underliggende Java-driver er en 3.6.x-version eller nyere for at have arrayFilters() og sandsynligvis endda understøtte tilføjelsen af ​​UpdateOptions()



  1. MongoDB $exp

  2. Visuel statistik til din MongoDB-server

  3. $addFields, når der ikke blev fundet noget $match

  4. MongoDB - kopisamling i java uden looping af alle elementer