Как я могу хранить время в MongoDB? Как строка? Давать произвольный год/месяц/день?

например. "23:55:00"

Я собираюсь преобразовать базу данных расписания автобусов из Postgres в Mongo.
Postgres имеет тип данных time without timezone, который я использую для хранения времени остановки, и мне трудно понять, как его перенести.

Кажется, не имеет смысла давать ему произвольный год/месяц/день, чтобы преобразовать его в объект Date javascript, но я планирую выполнить некоторые простые вычисления со временем после анализа данных, чтобы показать например, "следующее время остановки", поэтому, если я сохраню его как строку, мне все равно придется преобразовать его во что-то в конце концов, чтобы сделать сравнения

Я действительно новичок в MongoDB, и любой совет будет очень благодарен

Ответ 1

Вы можете сохранить время как число (количество секунд с 00:00:00). Он будет, естественно, отсортирован и легко конвертируется из/в формат hh: mm: ss при необходимости.

//from 23:55:00 to the stored time
storedTime = hours * 3600 + minutes * 60 + seconds

//from the stored time to 23:55:00
hours = storedTime / 3600  // needs to be an integer division
leaves = storedTime - hours * 3600
minutes = leaves / 60
seconds = leaves - 60 * minutes