sql >> Database >  >> NoSQL >> MongoDB

Update toepassen met gefilterde positionele operator met arrayFilters

Dat zou moeten zijn:

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

U moet ervoor zorgen dat het onderliggende Java-stuurprogramma een 3.6.x-versie of hoger is om de arrayFilters() te hebben en waarschijnlijk zelfs de toevoeging van UpdateOptions() . ondersteunen



  1. Documenten met tags in lijst ophalen, gerangschikt op totaal aantal overeenkomsten

  2. Machinepools en cloudprofielen voor MongoDB

  3. Hoe $unset en $set in combinatie te gebruiken in mongoDB

  4. Hadoop InputFormat &soorten InputFormat in MapReduce