Unraveling MongoDB's Mystique: Decoding the Auto-generated _id

Abhinav JhaAbhinav Jha
1 min read

Table of contents

If you've ever worked with MongoDB, you're likely acquainted with the _id field, which MongoDB auto-generates if an ID isn't provided explicitly. Now, let's delve into the structure of this auto-generated _id in MongoDB.

The _id is a 12-byte hexadecimal number designed to ensure the uniqueness of each document. While inserting a document, you have the option to provide your ID. However, if you opt not to, MongoDB automatically assigns a unique ID to every document.

These 12 bytes are structured as follows: the first 4 bytes represent the current timestamp, the next 3 bytes denote the machine ID, the subsequent 2 bytes signify the process ID of the MongoDB server, and the remaining 3 bytes represent a simple incremental value.

6
Subscribe to my newsletter

Read articles from Abhinav Jha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Abhinav Jha
Abhinav Jha

Software Engineer