In MongoDB das Date()
-Methode gibt ein Datum entweder als Zeichenfolge oder als Datumsobjekt zurück.
- Wenn Sie es als
Date()
aufrufen , gibt es das aktuelle Datum als String immongo
zurück Schale. - Wenn Sie es als
new Date()
aufrufen , gibt es das aktuelle Datum als Date-Objekt zurück.
Sie können auch ein bestimmtes Datum als Argument für new Date()
angeben , sodass dieses Datum verwendet wird.
Beispiel – Date()
Hier ist ein Beispiel für das Einfügen eines Dokuments in eine Sammlung und die Verwendung von Date()
als Wert für eines der Felder:
db.dogs.insert(
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : Date()
}
)
Nachdem wir diesen Code ausgeführt haben, können wir uns das resultierende Dokument ansehen:
db.dogs.find().pretty()
Ergebnis:
{ "_id" : 1, "name" : "Fetch", "lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)" }
Wir können sehen, dass lastModified
Das Datumsfeld verwendet eine Datumszeichenfolge als Wert.
Beispiel – new Date()
Wie bereits erwähnt, verwenden Sie new Date()
, wenn Sie ein Datumsobjekt anstelle einer Datumszeichenfolge zurückgeben möchten .
Beispiel:
db.dogs.insert(
{
"_id" : 2,
"name" : "Wag",
"lastModified" : new Date()
}
)
Einfach Date()
voranstellen mit new
ergibt ein Datumsobjekt statt einer Datumszeichenfolge.
Lassen Sie uns nun noch einmal die Dokumentensammlung überprüfen:
db.dogs.find().pretty()
Ergebnis:
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}
{
"_id" : 2,
"name" : "Wag",
"lastModified" : ISODate("2021-01-27T00:19:08.862Z")
}
Wir können sehen, dass das Datum im zweiten Dokument mit ISODate()
umschlossen wurde Helfer. Das ISODate ist in UTC angegeben.
Geben Sie ein bestimmtes Datum an
Beim Aufruf von Date()
können Sie Ihr eigenes Datum angeben Methode.
Übergeben Sie dazu eine ISO-8601-Datumszeichenfolge mit einem Jahr innerhalb des inklusiven Bereichs 0
bis 9999
zum new Date()
Konstruktor oder das ISODate()
Funktion.
Hier ist ein Beispiel.
db.dogs.update(
{ "_id" : 1 },
{ $set : { "born" : new Date( "2020-10-07" ) } }
)
Lassen Sie uns nun das Dokument überprüfen:
db.dogs.find( { "_id": 1 } ).pretty()
Ergebnis:
{ "_id" : 1, "name" : "Fetch", "lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)", "born" : ISODate("2020-10-07T00:00:00Z") }
Wir können sehen, dass das Geburtsfeld hinzugefügt und auf das angegebene Datum gesetzt wurde.
Sie können das Datum in den folgenden Formaten angeben.
Format | Beschreibung |
---|---|
YYYY-mm-dd | Gibt das ISODate zurück mit dem angegebenen Datum. |
YYYY-mm-ddTHH:MM:ss | Gibt die Datumszeit in der lokalen Zeitzone des Clients an und gibt das ISODate zurück mit der angegebenen Datumszeit in UTC. |
YYYY-mm-ddTHH:MM:ssZ | Gibt die Datumszeit in UTC an und gibt das ISODate zurück mit der angegebenen Datumszeit in UTC. |
Ganzzahl | Sie können auch eine Ganzzahl als Wert angeben. Wenn Sie dies tun, gibt es die Datumszeit als Millisekunden seit der Unix-Epoche (1. Januar 1970) an und gibt das resultierende ISODate zurück Beispiel. |
Unix-Epoche
Hier ist ein Beispiel für die Angabe einer ganzen Zahl als Argument für new Date()
.
Dadurch wird die Datumszeit als Millisekunden seit der Unix-Epoche (1. Januar 1970) angegeben und das resultierende ISODate
zurückgegeben Beispiel.
db.dogs.update(
{ "_id" : 2 },
{ $set : { "born" : new Date( 1601207768012 ) } }
)
Lassen Sie uns nun das Dokument überprüfen:
db.dogs.find( { "_id": 2 } ).pretty()
Ergebnis:
{ "_id" : 2, "name" : "Wag", "lastModified" : ISODate("2021-01-27T00:19:08.862Z"), "born" : ISODate("2020-09-27T11:56:08.012Z") }