sql >> Database >  >> NoSQL >> MongoDB

Hoe haal ik de aangemaakte datum uit een Mongo ObjectID

getTimestamp()

De functie die je nodig hebt is deze, deze zit al voor je in de shell:

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

Referenties

Bekijk dit gedeelte uit de documenten:

  • Invoegtijden extraheren uit _id in plaats van een apart tijdstempelveld te hebben

Deze eenheidstest toont ook hetzelfde aan:

  • mongo / jstests / objid6.js

Voorbeeld van het gebruik van de Mongo-schaal:

> 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. Mongo C# JSON-lezer verwachtte een waarde maar vond 'replSetGetStatus'

  2. Mongoose unieke index op subdocument

  3. Gegevenscompressie inschakelen in MongoDB 3.0

  4. MongoDB-databaseversleuteling