diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index 225f623e6..84585e29d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -761,16 +761,12 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, * @see org.springframework.data.mongodb.core.MongoOperations#findOne(org.springframework.data.mongodb.core.query.Query, java.lang.Class, java.lang.String) */ @Override - public List find(final Query query, Class entityClass, String collectionName) { + public List find(Query query, Class entityClass, String collectionName) { Assert.notNull(query, "Query must not be null!"); Assert.notNull(collectionName, "CollectionName must not be null!"); Assert.notNull(entityClass, "EntityClass must not be null!"); - if (query.getQueryObject().isEmpty() && query.getSortObject().isEmpty()) { - return findAll(entityClass, collectionName); - } - return doFind(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass, new QueryCursorPreparer(query, entityClass)); } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java index ee7549034..353685726 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java @@ -15,8 +15,12 @@ */ package org.springframework.data.mongodb.core; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.not; import static org.junit.Assert.*; +import static org.junit.Assert.assertThat; import static org.junit.Assume.*; import static org.springframework.data.mongodb.core.query.Criteria.*; import static org.springframework.data.mongodb.core.query.Query.*; @@ -3256,6 +3260,17 @@ public class MongoTemplateTests { assertThat(template.count(new BasicQuery("{}"), template.determineCollectionName(Sample.class)), is(equalTo(1L))); } + @Test // DATAMONGO-1779 + public void appliesQueryLimitToEmptyQuery() { + + Sample first = new Sample("1", "Dave Matthews"); + Sample second = new Sample("2", "Carter Beauford"); + + template.insertAll(Arrays.asList(first, second)); + + assertThat(template.find(new Query().limit(1), Sample.class)).hasSize(1); + } + static class TypeWithNumbers { @Id String id;