diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java index 5b36e0e6d..fa3e3451e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java @@ -148,8 +148,12 @@ class MongoQueryCreator extends AbstractQueryCreator { switch (type) { case GREATER_THAN: return criteria.gt(parameters.nextConverted()); + case GREATER_THAN_EQUAL: + return criteria.gte(parameters.nextConverted()); case LESS_THAN: return criteria.lt(parameters.nextConverted()); + case LESS_THAN_EQUAL: + return criteria.lte(parameters.nextConverted()); case BETWEEN: return criteria.gt(parameters.nextConverted()).lt(parameters.nextConverted()); case IS_NOT_NULL: diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java index 402dc84bb..ddbfb1b59 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryCreatorUnitTests.java @@ -130,6 +130,27 @@ public class MongoQueryCreatorUnitTests { assertBindsDistanceToQuery(point, distance, query); } + @Test + public void createsLessThanEqualQueryCorrectly() throws Exception { + + PartTree tree = new PartTree("findByAgeLessThanEqual", Person.class); + MongoQueryCreator creator = new MongoQueryCreator(tree, getAccessor(converter, 18)); + + Query reference = query(where("age").lte(18)); + assertThat(creator.createQuery().getQueryObject(), is (reference.getQueryObject())); + } + + @Test + public void createsGreaterThanEqualQueryCorrectly() throws Exception { + + PartTree tree = new PartTree("findByAgeGreaterThanEqual", Person.class); + MongoQueryCreator creator = new MongoQueryCreator(tree, getAccessor(converter, 18)); + + Query reference = query(where("age").gte(18)); + assertThat(creator.createQuery().getQueryObject(), is (reference.getQueryObject())); + } + + private void assertBindsDistanceToQuery(Point point, Distance distance, Query reference) throws Exception { when(converter.convertToMongoType("Dave")).thenReturn("Dave");