sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Hay alguna forma de mostrar la marca de tiempo en formato Unix en ISODate?

Antecedentes

  • Un unixtime el valor representa segundos desde la época (1 de enero de 1970).

  • Un Fecha de JavaScript() representa milisegundos desde la época.

  • En MongoDB, ISODate() es un contenedor conveniente para Date() que le permite crear fechas a partir de cadenas ISO en mongo caparazón. Si usa new Date() en el shell, devolverá un ISODate() .

Conversión

Para convertir entre un unixtime y un ISODate() puede multiplicar sus marcas de tiempo de Unix por 1000 y pasar este valor a new Date() constructor.

Un ejemplo simple en mongo concha:

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