MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Qual é a melhor maneira de armazenar datas no MongoDB?


Na verdade, estou no processo de converter um banco de dados MongoDB onde as datas são armazenadas como tipos Date() adequados para armazená-las como strings no formato yyyy-mm-dd . Por que, considerando que todos os outros respondentes dizem que essa é uma ideia horrível? Simplificando, por causa da dor sem fim que tenho sofrido tentando trabalhar com datas em JavaScript, que não tem nenhum conceito (real) de fusos horários. Eu estava armazenando datas UTC no MongoDB, ou seja, um objeto Date() com minha data desejada e a hora definida como meia-noite UTC, mas é inesperadamente complicado e propenso a erros obter uma data enviada pelo usuário corretamente convertida para isso de qualquer fuso horário que eles Eu tenho lutado para fazer meu código JavaScript "qualquer fuso horário local para UTC" funcionar (e sim, estou ciente de Sugar.js e Moment.js) e decidi que strings simples como o bom e velho padrão MySQL yyyy-mm-dd é o caminho a seguir, e analisarei objetos Date() conforme necessário em tempo de execução no lado do cliente.

Aliás, também estou tentando sincronizar esse banco de dados MongoDB com um banco de dados FileMaker, que também não tem conceito de fuso horário. Para mim, a simplicidade de simplesmente não armazenar dados de tempo, especialmente quando não tem sentido, como meia-noite UTC, ajuda a garantir um código com menos bugs, mesmo que eu tenha que analisar de e para as datas da string de vez em quando.