DateTime-Vergleich für Bedingte Schreibt in DynamoDB
Arbeite ich mit DynamoDB im moment. Ich will eine bedingte schreiben um einen Datensatz zu aktualisieren, wenn es zu diesem Datensatz ein Datum, das älter ist als die neue Platte Datum-Feld.
Gibt es eine Möglichkeit zum Vergleich von DateTime-Typen für bedingte schreibt? Oder ist es derzeit nur für Ganzzahlen, strings und streams?
Dank.
- Wie speichern Sie die Datum-Zeit? Verwenden Sie ISO-8601 mit einem
String
Daten eingeben, oder verwendenNumber
mit einer Zeitdifferenz (wie von Zeit)? - Ich bin mit einem ISO-8601 mit einem string-Datentyp (wie: 2015-06-08T11:34:37Z). Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie erwähnten Sie mit ISO-8601 mit der
String
Datentyp, es ist einfach zu bedienen, die vergleichende Operatoren (<
,<=
usw.) in Ihrem bedingten Ausdruck, weil die lexikographische Bestellung beschrieben in diese Antwort.Hier ist ein kurzes Beispiel, wo ich Java 8 ist an der Zeit und es lief gegen DynamoDB Local:
Und die Ausgabe:
DynamoDB nicht verstehen, Termine. Wenn Sie speichern das Datum, wie lange ms/s ab Epoche, dann können Sie arithmetische
<
,>=
usw.Wenn Sie eine String-Darstellung, dann ist es hängt alles davon, wenn man die richtigen DynamoDB-operator für eine Abfrage in zwei von Ihnen.
Ich persönlich benutze das erstere, so tut es mit Kalkül.