gpt4 book ai didi

Java Spring MongoDB @TextIndexed 注释未在现有数据库中创建索引

转载 作者:行者123 更新时间:2023-12-02 10:51:34 25 4
gpt4 key购买 nike

我在 MongoDB 中有集合,我正在尝试使用 Spring 注释 (@TextIndexed) 生成文本索引。我不会在应用程序启动时创建数据库,它已经创建了。

问题是 - 索引没有添加到我的数据库中。

注释是否仅在启动应用程序后创建数据库时才起作用?

谢谢。

Spring v.4.3.2MongoDB v.4.0.1

最佳答案

注释是否仅在启动应用程序后创建数据库时才起作用”?

答案是肯定的。

如果集合已经创建,Spring data 不会初始化索引。我必须做一些像你想做的事情,我发现的唯一解决方案是使用 MongoOperations 实例来完成它。

  @Autowired
private MongoOperations mongoOps;

@PostConstruct
public void initializeIndexesInDb(){
mongoOps.indexOps(YourDocumentClass.class).ensureIndex(new Index().on("fieldName", Direction.ASC));
}

关于Java Spring MongoDB @TextIndexed 注释未在现有数据库中创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52146327/

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