MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie extrahiere ich das Erstellungsdatum aus einer Mongo ObjectID

getTimestamp()

Die Funktion, die Sie brauchen, ist diese, sie ist bereits in der Shell enthalten:

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

Referenzen

Schauen Sie sich diesen Abschnitt aus der Dokumentation an:

  • Einfügungszeiten aus _id extrahieren, anstatt ein separates Zeitstempelfeld zu haben

Dieser Komponententest demonstriert dasselbe:

  • mongo / jstests / objid6.js

Beispiel für die Verwendung der Mongo-Shell:

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