diff --git a/CHANGELOG.md b/CHANGELOG.md index d4e07042b..fecd1d0fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to AET will be documented in this file. ## Unreleased **List of changes that are finished but not yet released in any final version.** +- [PR-300](https://github.com/Cognifide/aet/pull/300) Added creating indexes for collection - [PR-289](https://github.com/Cognifide/aet/pull/289) User now stays on the same tab while navigating between URLs - [PR-271](https://github.com/Cognifide/aet/pull/271) Added possibility to override name parameter from the aet client - [PR-268](https://github.com/Cognifide/aet/pull/268) Bobcat upgrade to version 1.4.0 diff --git a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java index a231ede5c..273c65e13 100644 --- a/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java +++ b/core/datastorage/src/main/java/com/cognifide/aet/vs/mongodb/MongoDBClient.java @@ -19,6 +19,7 @@ import com.mongodb.DB; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; +import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import java.net.UnknownHostException; import java.util.ArrayList; @@ -33,6 +34,9 @@ import org.apache.felix.scr.annotations.Property; import org.apache.felix.scr.annotations.Service; import org.apache.sling.commons.osgi.PropertiesUtil; +import org.bson.BsonDocument; +import org.bson.BsonInt32; +import org.bson.Document; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -199,6 +203,15 @@ public MongoDatabase getDatabase(String dbName, Boolean autoCreate) { } else if (allowAutoCreate && autoCreate) { database = mongoClient.getDatabase(lowerCaseDbName); database.createCollection(MetadataDAOMongoDBImpl.METADATA_COLLECTION_NAME); + MongoCollection collection = database + .getCollection(MetadataDAOMongoDBImpl.METADATA_COLLECTION_NAME); + collection.createIndex(new BsonDocument().append("version", new BsonInt32(-1))); + collection.createIndex(new BsonDocument() + .append("correlationId", new BsonInt32(1)) + .append("version", new BsonInt32(-1))); + collection.createIndex(new BsonDocument() + .append("name", new BsonInt32(1)) + .append("version", new BsonInt32(-1))); } return database; }