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

¿Cómo extraigo la fecha de creación de un Mongo ObjectID?

getTimestamp()

La función que necesita es esta, ya está incluida en el shell:

ObjectId.prototype.getTimestamp = function() {
    return new Date(parseInt(this.toString().slice(0,8), 16)*1000);
}

Referencias

Consulte esta sección de los documentos:

  • Extraiga los tiempos de inserción de _id en lugar de tener un campo de marca de tiempo separado

Esta prueba unitaria también demuestra lo mismo:

  • mongo/jstests/objid6.js

Ejemplo usando el shell de Mongo:

> db.col.insert( { name: "Foo" } );
> var doc = db.col.findOne( { name: "Foo" } );
> var timestamp = doc._id.getTimestamp();

> print(timestamp);
Wed Sep 07 2011 18:37:37 GMT+1000 (AUS Eastern Standard Time)

> printjson(timestamp);
ISODate("2011-09-07T08:37:37Z")