MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como extraio a data de criação de um Mongo ObjectID

getTimestamp()


A função que você precisa é esta, já está incluída para você no shell:
ObjectId.prototype.getTimestamp = function() {
    return new Date(parseInt(this.toString().slice(0,8), 16)*1000);
}

Referências


Confira esta seção dos documentos:
  • Extraia os tempos de inserção de _id em vez de ter um campo de carimbo de data/hora separado

Este teste de unidade também demonstra o mesmo:
  • mongo / jstests / objid6.js

Exemplo usando o shell 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")