删除MongoDb集合并使用旧索引创建

时间:2018-12-11 13:17:13

标签: spring mongodb spring-data-jpa

我正在使用spring数据来管理mongoDb集合并删除我正在使用mongoTemplate.dropCollection(Anomaly.class);的某些集合的所有元素,因为集合太大而无法使用CrudRepository的deleteAll()。 问题是在添加新文档时创建集合。尽管正确注释了Java类,但集合没有索引(_id除外):

@Field("anomaly_id")
@JsonProperty("anomaly_id")
@Indexed(unique = true)
private String anomalyId;

我尝试使用mongoTemplate.createCollection(Anomaly.class)获得相同的结果,但是如果我在启动时重新启动tomcat,则会使用索引创建该集合。 我该如何解决这个问题?谢谢

1 个答案:

答案 0 :(得分:0)

我认为您可以使用索引2方式。 1.您想要的字段中的@index 2.程序化

请参阅此(Spring Data MongoDB - Where to create an index programmatically for a Mongo collection?

由于集合太大而无法使用deleteAll(),因此您正在做大数据问题,所以也许这无济于事。