MongoDB ObjectId Datum Extractor
Extraheer en decodeer de ingebedde tijdstempel van een MongoDB ObjectId om te zien wanneer een document is aangemaakt
Invoer
Uitvoer
Readme
Wat is een MongoDB ObjectId?
Een MongoDB ObjectId is een 12-byte (24 hex-tekens) unieke identifier die wordt gebruikt als het standaard _id-veld voor elk document in een MongoDB-collectie. De structuur is niet willekeurig — het bevat betekenisvolle informatie. De eerste vier bytes slaan een Unix-tijdstempel op die de seconde aangeeft waarop de ObjectId is aangemaakt. De overige bytes bevatten een willekeurige waarde en een oplopende teller om uniciteit te garanderen, zelfs wanneer meerdere documenten in dezelfde seconde op dezelfde machine worden ingevoegd.
Omdat het aanmaakmijdstempel direct in de identifier is opgeslagen, kunt u precies bepalen wanneer een document is aangemaakt zonder een apart createdAt-veld op te slaan.
Hoe het tijdstempel is ingebed
Een ObjectId zoals 507f1f77bcf86cd799439011 is als volgt opgebouwd:
| Bytes | Hex-tekens | Doel |
|---|---|---|
| 1–4 | 507f1f77 |
Unix-tijdstempel (seconden sinds epoch) |
| 5–9 | bcf86cd799 |
Willekeurige waarde (uniek per machine/proces) |
| 10–12 | 439011 |
Oplopende teller |
Het omzetten van de eerste acht hex-tekens 507f1f77 naar decimaal geeft 1350844279, wat overeenkomt met 2012-10-21T21:17:59.000Z.
Beschrijving van de tool
Deze tool extraheert het ingebedde tijdstempel uit elke geldige MongoDB ObjectId en toont dit in meerdere datumformaten. Plak een ObjectId en zie direct de ISO 8601-datum, UTC-datum, lokale datum en het ruwe Unix-tijdstempel — geen databaseverbinding of code vereist.
Voorbeelden
| Invoer ObjectId | Geëxtraheerde datum (UTC) |
|---|---|
507f1f77bcf86cd799439011 |
2012-10-21T21:17:59.000Z |
65a1fc2b0000000000000000 |
2024-01-13T04:44:27.000Z |
000000000000000000000000 |
1970-01-01T00:00:00.000Z |
Functies
- Directe extractie: Resultaten verschijnen terwijl u typt — geen knoppen vereist
- Meerdere formaten: Toont ISO 8601, UTC, lokale datum/tijd en Unix-tijdstempel
- Invoervalidatie: Weigert alles wat geen geldige hex-string van 24 tekens is
- Geen afhankelijkheden: Werkt volledig in de browser zonder serveraanroepen of externe bibliotheken
- Kopieerklare uitvoer: Elk uitvoerveld kan afzonderlijk worden gekopieerd
Toepassingen
- Debuggen: Snel controleren wanneer een document is ingevoegd zonder de database te raadplegen
- Auditing: Aanmaakmijdstempels verifiëren in geëxporteerde ObjectId-lijsten of logbestanden
- Forensisch onderzoek: De leeftijd van records bepalen tijdens datamigratie of incidentonderzoek
Hoe het werkt
- De tool neemt de eerste 8 hex-tekens van de ObjectId.
- Parseert deze als een 32-bit big-endian hexadecimaal geheel getal om het Unix-tijdstempel in seconden te verkrijgen.
- Vermenigvuldigt met 1000 en geeft dit door aan een JavaScript
Date-object. - Formatteert de resulterende datum naar ISO 8601, UTC-string, locale-bewuste string en ruwe seconden.
Beperkingen
- Alleen het aanmaakmijdstempel wordt geëxtraheerd. De willekeurige en tellergedeelten van de ObjectId worden niet gedecodeerd omdat ze geen gebruikersrelevante informatie bevatten.
- ObjectIds die zijn gegenereerd met een aangepast of nul-tijdstempel retourneren een geldige maar mogelijk misleidende datum.
- Het lokale datumformaat is afhankelijk van de locale-instellingen van uw browser.
Veelgestelde vragen
Kan ik een datum extraheren uit elke MongoDB ObjectId?
Ja. Elke standaard MongoDB ObjectId — of deze nu is gegenereerd door de MongoDB driver, Mongoose, mongosh, of tools zoals Faker.js — bevat een geldig tijdstempel in de eerste vier bytes.
Is dit hetzelfde als het createdAt-veld?
Alleen als de ObjectId is gegenereerd op het moment van invoeging (de standaard). Als er handmatig een aangepaste ObjectId is opgegeven, kan het ingebedde tijdstempel afwijken van de werkelijke aanmaaktijd.
Werkt dit met ObjectIds van oudere MongoDB-versies? Ja. Het 4-byte tijdstempelprefix maakt sinds de eerste release van MongoDB deel uit van de ObjectId-specificatie. De enige wijziging door de tijd heen betreft de middelste bytes (machine-ID versus willekeurige waarde), die deze tool niet decodeert.