diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/MongoPersistentEntityIndexCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/MongoPersistentEntityIndexCreator.java index e37b474ba..b5c036167 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/MongoPersistentEntityIndexCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/MongoPersistentEntityIndexCreator.java @@ -106,7 +106,7 @@ public class MongoPersistentEntityIndexCreator implements ApplicationListener entityType) { + + return operations.execute(entityType, new CollectionCallback() { + public Boolean doInCollection(DBCollection collection) throws MongoException, DataAccessException { + for (DBObject indexInfo : collection.getIndexInfo()) { + if (indexName.equals(indexInfo.get("name"))) { + return true; + } + } + return false; + } + }); + } +} diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/MappingTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/MappingTests.java index 234e06a3d..51c752342 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/MappingTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/MappingTests.java @@ -251,7 +251,7 @@ public class MappingTests { public Boolean doInCollection(DBCollection collection) throws MongoException, DataAccessException { List indexes = collection.getIndexInfo(); for (DBObject dbo : indexes) { - if ("name_1".equals(dbo.get("name"))) { + if ("name".equals(dbo.get("name"))) { return true; } }