sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man tillämpar uppdatering med filtrerad positionsoperator med arrayFilters

Det borde vara:

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 måste se till att den underliggande Java-drivrutinen är en 3.6.x-version eller senare för att ha arrayFilters() och sannolikt till och med stödja tillägget av UpdateOptions()



  1. MongoDB Textsökning OCH flera sökord

  2. Spara kapslad hash i redis via en node.js-app

  3. Refererar till ett annat schema i Mongoose

  4. 2 sätt att ta bort en samling i MongoDB