Последнее обнаружение
Я обнаружил, что у меня будет такое же сообщение об ошибке, если в моей существующей коллекции уже есть какой-либо документ, который потерпел крах при создании индекса .Пожалуйста, подтвердите, что у вас нет недействительного документа перед созданием составного индекса.
Я столкнулся с той же проблемой, когда не указал правильное имя индекса в параметрах параметров.MongoDB не позволяет нам создавать с дублирующимся индексным ключом, но будет использовать соответствующие поля и соответствующее значение для создания имени индекса (в данном случае это name_1_type_1_ref_1).Следовательно, нам нужно добавить суффикс имени с '_en' или, возможно, другой суффикс, чтобы избежать повторяющейся ошибки, например, следующей.
db.collection('myCollection').createIndex(
{ "name": 1, "type": 1, "ref": 1 },
{ name: "name_1_type_1_ref_1_en",
unique: true,
collation: { locale: 'en', strength: 1 }
}
);
, тогда составной индекс может быть успешно создан.