Удалите коллекцию MongoDb и создайте со старыми индексами - PullRequest
0 голосов
/ 11 декабря 2018

Я использую данные Spring для управления коллекцией mongoDb и для удаления всех элементов некоторых коллекций, которые я использую mongoTemplate.dropCollection(Anomaly.class);, потому что коллекция слишком велика, чтобы использовать deleteAll() CrudRepository.Проблема заключается в создании коллекции при добавлении нового документа.Коллекция не имеет индексов (кроме _id), несмотря на то, что класс java правильно аннотирован:

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

Я попытался с mongoTemplate.createCollection(Anomaly.class) с тем же результатом, но если я перезапущу tomcat при запуске,Коллекция создана с индексами.Как я могу решить эту проблему? Спасибо

1 Ответ

0 голосов
/ 02 мая 2019

Я думаю, вы можете сделать индекс 2 пути.1. @index в поле, которое вы хотите 2. Сделайте это программно

Пожалуйста, обратитесь к этому ( Spring Data MongoDB - Где создать индекс программно для коллекции Mongo? )

поскольку коллекция слишком велика, чтобы использовать deleteAll (), у вас возникла проблема с большими данными, поэтому, возможно, это не поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...