2015-08-13 2 views
0

Мне нужна коллекция для хранения визуализированных формул. Я сделал это:Индексы на строковых полях

class FormulaImage(Document): 

    formula = me.StringField(primary_key=True) 
    image = me.ImageField() 

У меня есть сомнения по поводу использования, возможно, больших строк в качестве индекса. Должен ли я добавить поле хеша формулы и использовать его в качестве основного индекса? Или MongoDB делает это сам по себе?

ответ

1

Существуют некоторые ограничения на создание индексов MongoDB. Тот, который будет влиять на вас это один:

Общий размер записи индекса, который может включать в себя структурные накладные расходы в зависимости от типа BSON, должно быть меньше, чем 1024 байт.

Итак, если вы не знаете, каков размер ваших строк, то лучше всего создать отдельный хэш над этой строкой и использовать индекс в этом столбце.

Подробнее об ограничениях на индекс here

Смежные вопросы