diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamEvent.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamEvent.java index 33a561a2a6..4a92c68e87 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamEvent.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamEvent.java @@ -155,33 +155,21 @@ public String getCollectionName() { @Nullable public T getBody() { - if (raw == null) { + if (raw == null || raw.getFullDocument() == null) { return null; } - Document fullDocument = raw.getFullDocument(); - - if (fullDocument == null) { - return targetType.cast(fullDocument); - } - - return getConvertedFullDocument(fullDocument); + return getConvertedFullDocument(raw.getFullDocument()); } @Nullable public T getBodyBeforeChange() { - if (raw == null) { + if (raw == null || raw.getFullDocumentBeforeChange() == null) { return null; } - Document fullDocumentBeforeChange = raw.getFullDocumentBeforeChange(); - - if (fullDocumentBeforeChange == null) { - return targetType.cast(fullDocumentBeforeChange); - } - - return getConvertedFullDocumentBeforeChange(fullDocumentBeforeChange); + return getConvertedFullDocumentBeforeChange(raw.getFullDocumentBeforeChange()); } @SuppressWarnings("unchecked")