gpt4 book ai didi

java - Spring Data MongoDB - 在哪里以编程方式为 Mongo 集合创建索引?

转载 作者:IT老高 更新时间:2023-10-28 13:21:09 26 4
gpt4 key购买 nike

要为集合创建索引(如本文所述 https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/ ),可以使用以下内容:

mongoTemplate.indexOps(Person.class).ensureIndex(new Index().on("name",Order.ASCENDING));

但是我应该在程序中的哪个位置放置这段代码片段?

在相关存储库的构造函数中?我现在已经这样做了,而且效果很好,但我觉得这是一个糟糕的设计。

Mongo 配置中的某个位置?我还没有找到合适的方法来覆盖这里 https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/config/AbstractMongoConfiguration.html

最佳答案

如果您需要以编程方式进行,您可以创建新的 Spring 的 @Configuration 并执行这样的初始化:

@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)
);
}
}

关于java - Spring Data MongoDB - 在哪里以编程方式为 Mongo 集合创建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47055743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com