关闭

MongoDB小结22 - id生成规则

标签: MongoDB
14748人阅读 评论(0) 收藏 举报
分类:

MongoDB的文档必须有一个_id键。

目的是为了确认在集合里的每个文档都能被唯一标识。

ObjectId 是 _id 的默认类型。

ObjectId 采用12字节的存储空间,每个字节两位16进制数字,是一个24位的字符串。

12位生成规则:

[0,1,2,3] [4,5,6] [7,8] [9,10,11]

时间戳 |机器码 |PID |计数器

  1. 前四位是时间戳,可以提供秒级别的唯一性。
  2. 接下来三位是所在主机的唯一标识符,通常是机器主机名的散列值。
  3. 接下来两位是产生ObjectId的PID,确保同一台机器上并发产生的ObjectId是唯一的。前九位保证了同一秒钟不同机器的不同进程产生的ObjectId时唯一的。
  4. 最后三位是自增计数器,确保相同进程同一秒钟产生的ObjectId是唯一的。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2467613次
    • 积分:15037
    • 等级:
    • 排名:第796名
    • 原创:148篇
    • 转载:5篇
    • 译文:0篇
    • 评论:19条
    文章推荐
    最新评论