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

Come estraggo la data creata da un Mongo ObjectID

getTimestamp()

La funzione che ti serve è questa, è già inclusa per te nella shell:

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

Riferimenti

Dai un'occhiata a questa sezione dai documenti:

  • Estrai i tempi di inserimento da _id invece di avere un campo timestamp separato

Anche questo unit test dimostra lo stesso:

  • mongo/jstests/objid6.js

Esempio di utilizzo della 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")