MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la meilleure façon de stocker les dates dans MongoDB ?

Je suis en train de convertir une base de données MongoDB où les dates sont stockées en tant que types Date() appropriés pour les stocker à la place sous forme de chaînes sous la forme yyyy-mm-dd . Pourquoi, étant donné que tous les autres répondants disent que c'est une idée horrible ? En termes simples, à cause de la douleur sans fin que j'ai subie en essayant de travailler avec des dates en JavaScript, qui n'a pas de (vrai) concept de fuseaux horaires. J'avais stocké des dates UTC dans MongoDB, c'est-à-dire un objet Date () avec la date souhaitée et l'heure définie sur minuit UTC, mais il est étonnamment compliqué et sujet aux erreurs d'obtenir une date soumise par l'utilisateur correctement convertie en celle de n'importe quel fuseau horaire ils J'ai eu du mal à faire fonctionner mon code JavaScript "quel que soit le fuseau horaire local vers UTC" (et oui, je connais Sugar.js et Moment.js) et j'ai décidé que des chaînes simples comme le bon vieux standard MySQL yyyy-mm-dd est la voie à suivre, et j'analyserai les objets Date() selon les besoins lors de l'exécution côté client.

Incidemment, j'essaie également de synchroniser cette base de données MongoDB avec une base de données FileMaker, qui n'a pas non plus de concept de fuseaux horaires. Pour moi, la simplicité de simplement pas le stockage des données temporelles, en particulier lorsqu'elles n'ont pas de sens comme minuit UTC, permet de garantir un code moins bogué, même si je dois analyser de temps en temps les dates de la chaîne.