sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur extraherar jag det skapade datumet från ett Mongo ObjectID

getTimestamp()

Funktionen du behöver är den här, den ingår redan för dig i skalet:

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

Referenser

Kolla in det här avsnittet från dokumenten:

  • Extrahera infogningstider från _id istället för att ha ett separat tidsstämpelfält

Detta enhetsteste visar också detsamma:

  • mongo / jstests / objid6.js

Exempel med Mongo-skalet:

> 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 hel och partiell textsökning

  2. hur man konverterar sträng till numeriska värden i mongodb

  3. mongod --bind_ip med docker-compose version 2

  4. Stackexchange.Redis varför upprättar ConnectionMultiplexer.Connect två klientanslutningar?