sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad är det bästa sättet att lagra datum i MongoDB?

Jag håller faktiskt på att konvertera en MongoDB-databas där datum lagras som korrekta Date()-typer för att istället lagra dem som strängar i formen yyyy-mm-dd . Varför, med tanke på att varannan svarare säger att det här är en hemsk idé? Enkelt uttryckt, på grund av den oändliga smärtan jag har lidit av att försöka arbeta med datum i JavaScript, som inte har något (riktigt) begrepp om tidszoner. Jag hade lagrat UTC-datum i MongoDB, det vill säga ett Date()-objekt med önskat datum och tiden inställd som midnatt UTC, men det är oväntat komplicerat och felbenäget att få ett användarinskickat datum korrekt omvandlat till det från vilken tidszon de än råkar vara med. Jag har kämpat för att få min JavaScript-kod "oavsett lokal tidszon till UTC" att fungera (och ja, jag är medveten om Sugar.js och Moment.js) och jag har bestämt mig för att enkla strängar som t.ex. den gamla goda MySQL-standarden yyyy-mm-dd är rätt väg att gå, och jag kommer att analysera in Date()-objekt efter behov vid körning på klientsidan.

Jag försöker för övrigt också att synkronisera denna MongoDB-databas med en FileMaker-databas, som inte heller har något begrepp om tidszoner. För mig enkelheten att helt enkelt inte Att lagra tidsdata, särskilt när det är meningslöst som UTC midnatt, hjälper till att säkerställa mindre buggig kod även om jag måste analysera till och från strängdatum då och då.



  1. Lagra objektegenskaper i redis

  2. Hur man namnutrymmestangenter på redis för att undvika namnkollisioner?

  3. Det går inte att ansluta till mongoDB som körs i docker-container

  4. En guide till MongoDB-distribution och underhåll med Puppet:Del 1