Nie mogę o tym mówić w odniesieniu do MongoDB, ale w bazie danych SQL nie, to nie jest najlepsza praktyka. Nie oznacza to, że może nie być okazjonalnego przypadku użycia, ale „najlepsza praktyka”, nie.
Przechowuj je jako daty, pobieraj je jako daty. Najlepszym rozwiązaniem jest skonfigurowanie bazy danych tak, aby przechowywała je w formacie UTC (w skrócie „GMT”), aby dane były przenośne i można było używać różnych czasów lokalnych w zależności od potrzeb (na przykład, jeśli baza danych jest używana przez różnych geograficznie użytkowników) i obsłużyć wszelkie konwersje z czasu UTC na czas lokalny w warstwie aplikacji (np. przez Calendar
lub biblioteka dat innej firmy).
Przechowywanie dat jako liczb oznacza, że trudno jest raportować bazę danych, uruchamiać zapytania ad hoc itp. Popełniłem ten błąd raz, nie powtórzę go bez naprawdę dobry powód. :-)