MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

C'è un modo per visualizzare il timestamp in formato unix su ISODate?

Sfondo

  • Un unixtime il valore rappresenta secondi dall'epoca (1 gennaio 1970).

  • Una JavaScript Date() rappresenta millisecondi fin dall'epoca.

  • In MongoDB, ISODate() è un comodo wrapper per Date() che ti consente di creare date da stringhe ISO nel mongo guscio. Se usi new Date() nella shell, restituirà un ISODate() .

Conversione

Per convertire tra un unixtime e un ISODate() puoi moltiplicare i tuoi timestamp unix per 1000 e passare questo valore a new Date() costruttore.

Un semplice esempio nel mongo guscio:

> 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")