Подтвердить что ты не робот

Перечисления в MongoDB

Я хочу сохранить значения enum в коллекции MongoDB. Могу ли я эффективно хранить их как строки? Будет ли это влиять на производительность индекса по сравнению с значениями enum как ints? Индексатор Mongo оптимизирует строковые индексы в случае, когда они содержат только несколько фиксированных опций в качестве строковых значений, для достижения скорости, аналогичной индексу запросов сортированным целым?

4b9b3361

Ответ 1

Сохранение значений enum в MongoDB как строки отлично, и да, если вы индексируете поле, я ожидаю, что производительность будет сопоставима с индексированными целыми запросами. Это, безусловно, более выразительно, чем использование целых чисел.

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