MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È la migliore pratica Java per memorizzare le date come long nel database?

Non posso parlare per questo in relazione a MongoDB, ma nel database SQL, no, non è la migliore pratica. Ciò non significa che potrebbero non esserci casi d'uso occasionali, ma "best practice", no.

Archiviali come date, recuperali come date. La soluzione migliore è impostare il database per archiviarli come UTC (in modo approssimativo, "GMT") in modo che i dati siano portatili e tu possa utilizzare orari locali diversi a seconda dei casi (ad esempio, se il database è utilizzato da utenti geograficamente diversi) e gestisci tutte le conversioni dall'ora UTC all'ora locale nel livello dell'applicazione (ad esempio, tramite Calendar o una libreria di dati di terze parti).

Memorizzare le date come numeri significa che è difficile eseguire rapporti sul database, eseguire query ad hoc su, ecc. Ho commesso quell'errore una volta, non è uno che ripeterò senza un davvero buona ragione. :-)