diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConversionContext.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConversionContext.java index 3daebfef9..9d672ea92 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConversionContext.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConversionContext.java @@ -21,6 +21,7 @@ import org.springframework.data.mapping.model.PropertyValueProvider; import org.springframework.data.mapping.model.SpELContext; import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty; import org.springframework.data.util.TypeInformation; +import org.springframework.lang.CheckReturnValue; import org.springframework.lang.Nullable; /** @@ -77,6 +78,17 @@ public class MongoConversionContext implements ValueConversionContext> valueConverter, MongoConversionContext conversionContext) { - MongoConversionContext ctx = new MongoConversionContext(NoPropertyPropertyValueProvider.INSTANCE, - conversionContext.getProperty(), converter, conversionContext.getSpELContext(), null); - - return super.convertValueWithConversionContext(documentField, sourceValue, value, valueConverter, ctx); + return super.convertValueWithConversionContext(documentField, sourceValue, value, valueConverter, conversionContext.forOperator(new WriteOperatorContext(documentField.name))); } private Entry getMappedUpdateModifier(Field field, Object rawValue) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/ExplicitEncryptionContext.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/ExplicitEncryptionContext.java index 850757794..67c30fcf9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/ExplicitEncryptionContext.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/ExplicitEncryptionContext.java @@ -71,7 +71,7 @@ class ExplicitEncryptionContext implements EncryptionContext { @Override @Nullable - public OperatorContext getConversionOperation() { + public OperatorContext getOperatorContext() { return conversionContext.getOperatorContext(); } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java index 9194659d0..c69653d2d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/encryption/MongoEncryptionConverter.java @@ -175,12 +175,12 @@ public class MongoEncryptionConverter implements EncryptingConverter