diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/UpdateBuilder.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/UpdateBuilder.java index f96d7691d..91173e931 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/UpdateBuilder.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/UpdateBuilder.java @@ -30,6 +30,11 @@ public class UpdateBuilder { return this; } + public UpdateBuilder unset(String key) { + criteria.put("$unset", Collections.singletonMap(key, 1)); + return this; + } + public UpdateBuilder inc(String key, long inc) { criteria.put("$inc", Collections.singletonMap(key, inc)); return this; diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/UpdateBuilderTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/UpdateBuilderTests.java index 630227380..31c579da6 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/UpdateBuilderTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/UpdateBuilderTests.java @@ -43,5 +43,11 @@ public class UpdateBuilderTests { ub.build().toString()); } + @Test + public void testUnset() { + UpdateBuilder ub = new UpdateBuilder() + .unset("directory"); + Assert.assertEquals("{ \"$unset\" : { \"directory\" : 1}}", ub.build().toString()); + } }