MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Gibt es eine Möglichkeit, den Zeitstempel im Unix-Format für ISODate anzuzeigen?

Hintergrund

  • Ein unixtime Wert steht für Sekunden seit der Epoche (1. Januar 1970).

  • Ein JavaScript Date() steht für Millisekunden seit der Epoche.

  • In MongoDB ISODate() ist ein praktischer Wrapper für Date() Damit können Sie Daten aus ISO-Strings im mongo erstellen Hülse. Wenn Sie new Date() verwenden in der Shell wird ein ISODate() zurückgegeben .

Umwandlung

Zum Konvertieren zwischen einer unixtime und ein ISODate() können Sie Ihre Unix-Zeitstempel mit 1000 multiplizieren und diesen Wert an new Date() übergeben Konstruktor.

Ein einfaches Beispiel im mongo Schale:

> db.mydata.insert({
    unixtime: 1362143511
})

> var doc = db.mydata.findOne();

// convert unixtime seconds to milliseconds and create JS date
> var date = new Date(doc.unixtime * 1000);

> date
ISODate("2013-03-01T13:11:51Z")