Wir haben eine einfache Anwendung, in der wir alle Benutzer in der gleichen Zeitzone & haben, daher sind wir nicht daran interessiert, Zeitzone Informationen in Mongo Datum Objekt zu speichern.MongoDB - Speichern von Datum ohne Zeitzone
Grund für solch extremen Schritt ist, haben wir mehrere Mikro-Service mit gemeinsamen Datenbank von verschiedenen Entwicklern verwaltet. Für jeden von ihnen ist es erforderlich, in der Abfrage & Zeitzonen-bezogene Daten explizit festzulegen, wobei die gleichen Ergebnisse in einem ungültigen Datensatz vergessen werden.
Da zur Zeit Leute MongoDB Mongo Data Types
unterstützt keine Termine ohne Zeitzone zu speichern.
eifrig nur zu wissen, das ist sie jeder alternativer Ansatz Zeitpunkt ohne Zeitzone in Mongo darzustellen, mit denen wir können noch in der Lage Vorteil von Mongo Datenbankabfragen zu nehmen Datum basierte Syntax wie Datumsbereiche, Datum etc.
Bei der Gleichzeitig wäre es für DBAs praktisch, Datensätze zu lesen und zu verwalten.
hmmm Ich habe diesen Beitrag vor dem Posten Problem überprüft. Problem bei diesem Ansatz ist, dass beide das Datum für Menschen nicht lesbar machen. Daher muss jede DBA-Operation, die zuvor direkt auf der Konsole ausgeführt werden kann, einen Conversion-Wrapper verwenden, um von Menschen lesbare in int-Werte umzuwandeln und umgekehrt. Dies führt zu einem anderen Problem. – tarunkumar
Ich glaube nicht, das Format JJJJMMTTHHmmss ist unlesbar haha Aber für Ihr Problem, ich denke, die andere Möglichkeit (vielleicht nur eine) können Sie die Zeitzone speichern und subtrahieren/hinzufügen Zeitzone Offset in Abfragen, genau wie diese Aggregation (in Java): { "$ Projekt": { "date": { "$ add": [ "$ date", TimeZone.getDefault() getOffset (System.currentTimeMillis()) . ] } } } –
oopss kann mein Verständnis ist falsch über yyyyMMddHHmmss, ich ging davon aus, das gleiche wie ein int/long nur mit extrahierten Werten zu speichern. Ja, ich denke, es sollte perfekt funktionieren, auch für die Bereiche Abfrage, obwohl wir einige benutzerdefinierte Regex schreiben müssen, wo wir Jahr ignorieren müssen. Ich würde auch Ihre zweite vorgeschlagene Lösung versuchen. – tarunkumar