Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 部署时更新MongoDB索引失败_Java_Mongodb_Spring Boot_Spring Data Mongodb - Fatal编程技术网

Java 部署时更新MongoDB索引失败

Java 部署时更新MongoDB索引失败,java,mongodb,spring-boot,spring-data-mongodb,Java,Mongodb,Spring Boot,Spring Data Mongodb,我们有以下设置:我们在AWS上部署了Spring引导后端,并通过Spring初始化MongoRepository。我们正在通过注释索引某些字段 @Indexed(expireAfterSeconds = 43200) private Date createdAt; 现在我们遇到了一个问题,即每当我们更新索引时,由于 “名为createdAt的索引已存在,并具有不同的选项” 我觉得,在升级到spring_data_mongo 3.0.1.RELEASE之前,我们在AWS上部署应用程序时没有这个问

我们有以下设置:我们在AWS上部署了Spring引导后端,并通过Spring初始化MongoRepository。我们正在通过注释索引某些字段

@Indexed(expireAfterSeconds = 43200)
private Date createdAt;
现在我们遇到了一个问题,即每当我们更新索引时,由于

“名为createdAt的索引已存在,并具有不同的选项”


我觉得,在升级到spring_data_mongo 3.0.1.RELEASE之前,我们在AWS上部署应用程序时没有这个问题。有人有一个想法,我遗漏了什么?

对于给定的集合,会产生什么效果?您可能会对给定的
createdAt
进行“修改”
@index
,以匹配索引规范。谢谢,但我想我的问题还不够清楚,抱歉!我的问题是,我们已经用expireAfterSeconds的特定值定义了索引createdAt,但现在我想更改该设置或完全删除该索引。我想,一定有办法,我们可以在部署时更新数据库中的索引。现在,我唯一的选择是手动删除索引,以便在部署时创建调整后的索引。但一定有更好的自动方式?!或者在应用程序启动时重新索引或删除索引是唯一的解决方案,这会非常昂贵吗要更改现有索引的expireAfterSeconds值,请将collMod数据库命令与索引集合标志结合使用。否则,要更改现有索引选项的值,必须先删除索引并重新创建。“