ObjectId 的结构如下:
- 12字节长度: ObjectId 是一个长度为12字节的16进制字符串。
- 时间戳: 前4个字节表示创建 ObjectId 的时间戳,是一个从1970年1月1日至今的秒数。
- 机器标识: 接下来的3个字节是机器标识符,通常是机器的MAC地址的散列值。
- 进程标识: 紧随其后的两个字节是进程标识符,通常是进程ID。
- 计数器: 最后的三个字节是一个计数器,初始值是一个随机数,确保同一秒内生成的 ObjectId 具有唯一性。
ObjectId 的唯一性主要由时间戳、机器标识、进程标识和计数器的组合保证。
以下是一个示例 ObjectId 的字符串表示: