Spring-Data MongoTemplate
имеет метод, который дает вам IndexOperations
для коллекции, которая позволяет создавать и удалять индексы коллекции.
Внимание: Согласно документации db.collection.dropIndex () удаление индекса блокирует всю коллекцию до тех пор, пока она не будет отброшена, и все запросы, использующие индекс, будут убит.
Вот пример, который удаляет индекс «имя» из коллекции «продукты» при запуске приложения.
@Component
class IndexManager implements InitializingBean {
private MongoTemplate mongoTemplate;
public IndexManager(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
@Override
public void afterPropertiesSet() {
mongoTemplate.indexOps("products").dropIndex("name");
}
}
Существует несколько способов выполнения кода во время запуска весеннего приложения. Другие способы сделать это можно найти здесь: running-setup-logi c -on-startup-in-spring