2010-12-15 6 views
2

Можно ли отсортировать значения даты MongoDB с помощью детализации?гранулярность в дате сортировки MongoDB?

Я хочу заказать мои результаты по дате, но мне не нужны данные о часах/минутах/секундах. Я бы предпочел не хранить дополнительный параметр, например «20101215».

+1

Если вам это не интересно, почему это имеет значение, если он использует полную дату при сортировке? Результаты по-прежнему сортируются по дате, когда они отсортированы по дате. – 2010-12-16 06:07:16

ответ

1

Короткий ответ на ваш вопрос: «Нет». Это невозможно без сохранения другого поля. Даже если бы это было возможно, вы не захотели бы b/c при сортировке в Mongo, вам действительно нужно индексировать поля, которые вы сортируете, иначе db нужно будет сканировать каждый документ в db, чтобы выполнить сортировку. Поэтому, если вы будете делать то, что вы предлагаете, вам также нужно будет указывать в поле частичной даты, которое также невозможно в монго.

Я думаю, что наилучшим подходом было бы хранить 2 поля, один для года/месяца/дня и другой для часа/мин/сек. Тогда у вас будет больше гибкости при сортировке и индексировании. Это не так чисто или идеально, как вам бы хотелось, но это единственный вариант с db.

Другой вариант - уточнить порядок в приложении после того, как результаты вернутся.

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