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

Hvordan trækker jeg den oprettede dato ud af et Mongo ObjectID

getTimestamp()

Funktionen du har brug for er denne, den er allerede inkluderet til dig i skallen:

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

Referencer

Se dette afsnit fra dokumenterne:

  • Udtræk indsættelsestider fra _id i stedet for at have et separat tidsstempelfelt

Denne enhedstest viser også det samme:

  • mongo / jstests / objid6.js

Eksempel på brug af Mongo-skallen:

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


  1. MongoDB $dateToString Format Specifiers

  2. Find og tæl elementer i samlingen med Mongoose

  3. Hvordan sammenkæder man arrays fra flere dokumenter i MongoDB?

  4. Sådan bruges Redis Hashes