MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Existe-t-il un moyen d'afficher l'horodatage au format Unix sur ISODate ?

Contexte

  • Un unixtime la valeur représente les secondes depuis l'époque (1er janvier 1970).

  • Une JavaScript Date() représente millisecondes depuis l'époque.

  • Dans MongoDB, ISODate() est un wrapper pratique pour Date() qui vous permet de créer des dates à partir de chaînes ISO dans le mongo coquille. Si vous utilisez new Date() dans le shell, il renverra un ISODate() .

Conversion

Pour convertir entre un unixtime et un ISODate() vous pouvez multiplier vos horodatages unix par 1000 et passer cette valeur au new Date() constructeur.

Un exemple simple dans le mongo coque :

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