Mungo Datum Vergleich
Meine Anwendung können die Benutzer zu erstellen, coupons.
Gutschein gültig in datefrom
und dateto
Zeitraum.
Die Sache ist, dass jeder Gutschein gilt für die ausgewählten Tage, nicht Stunden.
Beispielsweise seit Montag(2016-06-12) bis Dienstag(2016-06-13), also zwei Tage.
Wie sollte ich Sie lagern Daten auf server-Seite und dann vergleichen Sie es mit $gte
Klausel im Mungo?
Danke 🙂
Können Sie speichern Ablauf der Zeit als UNIX-timestamp. In Ihrem Mongoose Modell, das Sie verwenden können
expiration : { type: Number, required: true}
Wenn Sie user interface für die Erstellung von coupons Sie können dann konfigurieren Sie Ihre Datumsauswahl auf senden-Zeit im UNIX timestamp.
Oder Wenn Sie Datums-Zeichenfolge, dann können Sie
var timestamp = new Date('Your_Date_String');
Und für die Berechnung der Tage, die Sie verwenden können,Moment JS. Mit diesem können Sie berechnen, starten Sie das Datum mit
.startOf();
– und Ende-Datum mit.endOf();
Timestamp zurück, die sich von Moment JS kann verwendet werden, für Mongoose Abfrage wie
$gte : some_timestamp
und$lte : some_timestamp
Wenn Sie wollen
validate
den Gutschein, bevor Sie persistiert, können Sie einemax /min
Wert für das Feld „Datum“:Siehe dieses Beispiel aus offiziellen Mungo Dokumentation DATUM validation:
Hinweis: verwenden Sie
snake_case
odercamelCase
für Feldnamen