у меня есть mongodb
коллекция term
со следующей структуройMongoException: Индекс с именем: код уже существует с различными вариантами
{
"_id" : "00002c34-a4ca-42ee-b242-e9bab8e3a01f",
"terminologyClass" : "USER",
"code" : "X67",
"terminology" : "some term related notes",
"notes" : "some notes"
}
и класс Java, представляющий термин коллекции как Term.java
@Document
public class Term{
@Id
protected String termId;
@Indexed
protected String terminologyClass;
@Indexed(unique=true)
protected String code;
@Indexed
protected String terminology;
protected String notes;
//getters & setters
}
У меня есть много документов в коллекции term
. Теперь я добавил новое поле Term.java
в
@Indexed
protected String status;
После добавления поля status
к Term.java
, при вставке нового термина для term
коллекции я получаю в exceptoin:
com.mongodb.MongoException Индекс с именем: код уже существует различных вариантов
Я использую MongoDB версии: 2.6.5 и весна-данных-MongoDB VERSI на: 1.3.2
Ваша догадка правильная. Выбросил индекс на код и удалил дубликаты из кода, а затем перезапустил приложение, исправив проблему. Спасибо! – faizi
Я отказался от версии моей библиотеки Ruby MongoDB, и вдруг все мои индексы с «expireAfterSeconds» уже существовали с разными вариантами, поэтому мне пришлось их всех бросить. – Hubro