полей.
Такой индекс нужен для определния уникальности добавляемого документа (так повелось).
Сейчас столкнулся с неизвестной для себя ошибкой.
При попытке добавить очередной документ MongoDB выдаёт ошибку:
Mongo::Error::OperationFailure: WiredTigerIndex::insert: key too large to index, failing
Да, при попытке добавить документ, одно из его полей довольно большое (текст в пару килобайт).
Я правильно понимаю, что при таком подходе, весь документ (все его поля, перечисленные в индексе),
не должен превышать 1024 байт?
Да. Но в 4.2 это ограничение убрали, см. врезку https://docs.mongodb.com/manual/reference/limits/#Index-Key-Limit
сделайте новое поле, конкатенируйте поля в одну строку и преобразуйте в md5 и кладите в новое поле, которое создали. на него вешайте индекс и вы получите все тоже самое, но с полем фиксированной длинны
Обсуждают сегодня