我正在使用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,则会使用索引创建该集合。
我该如何解决这个问题?谢谢
答案 0 :(得分:0)
我认为您可以使用索引2方式。 1.您想要的字段中的@index 2.程序化
请参阅此(Spring Data MongoDB - Where to create an index programmatically for a Mongo collection?)
由于集合太大而无法使用deleteAll(),因此您正在做大数据问题,所以也许这无济于事。