Eso debería ser:
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
);
Debe asegurarse de que el controlador Java subyacente sea una versión 3.6.x o superior para tener arrayFilters()
y es probable que incluso admita la adición de UpdateOptions()