Выбор типа значения столбца для индексации в монго - PullRequest
0 голосов
/ 04 октября 2018
document : {
     score:123
}

У меня в документе есть поле с именем оценка (целое число).Я хочу использовать запрос диапазона db.collection.find ({счет: {$ gte: 100, $ lt: 200}}) .У меня есть определенное количество этих диапазонов (около 20).
Должен ли я ввести новое поле в документе, чтобы указать тип диапазона, а затем запросить идентификатор этого диапазона.Например -

document: {
    score: 123,
    scoreType: "type1"
}

, поэтому какой запрос лучше -
1. db.collection.find ({счет: {$ gte: 100, $ lt: 200}})
2. дБ.collection.find ({scoreType: "type1"})

В любом случае мне нужно будет создать индекс для Score или ScoreType.Какой индекс будет лучше работать ??

1 Ответ

0 голосов
/ 04 октября 2018

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

Имейте в виду : ScoreType будетфиксированное значение и, таким образом, не поможет при запросе к различным диапазонам, т. е. он может работать на 100–200, если тип счета был создан с учетом этого диапазона, но не будет работать на другие диапазоны, например на 100–500 (вы планируетеимея новый ScoreType2?) сохраняя гибкость в области, это плохая идея

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...