To create an index for a collection (as documented here https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/) one can use something like the following:
If you need to do it in programmatic way, you can just create new Spring's @Configuration and perform such initialization:
@Configuration
@DependsOn("mongoTemplate")
public class CollectionsConfig {
@Autowired
private MongoTemplate mongoTemplate;
@PostConstruct
public void initIndexes() {
mongoTemplate.indexOps("collectionName") // collection name string or .class
.ensureIndex(
new Index().on("name", Sort.Direction.ASC)
);
}
}