美文网首页我爱编程
MongoDB中你所不关注的ObjectId数据类型

MongoDB中你所不关注的ObjectId数据类型

作者: 何甜甜在吗 | 来源:发表于2018-06-20 16:34 被阅读0次

ObjectId竟然是一种数据类型


吃惊
  • ObjectId在MongoDB中的应用
    文档中必须存储的_id键的值类型默认为ObjectId

  • ObjectId介绍
    采用12字节的存储空间,由24个十六进制数字组成的字符串

    "_id": "ObjectId("5b2187ad4af344000e896e62")"
    

    1-4个字节:记录的是从标准纪元开始的时间戳,单位为秒
    5-7字节:记录的主机标识符,通常是机器主机名的散列值
    8-9字节:记录的进程标识符
    10-12字节:自动增加的计数器
    1-9字节保证了同一秒钟不同机器不同进程产生的ObjectId是唯一的
    10-12字节保证相同进程同一秒的产生的ObjectId是唯一的

  • 为什么使用ObjectId
    不使用自增是分布式维护起来非常困难。使用ObjectId可以保证不同机器都能用全局唯一的同种方法生成它并且确保不重复

相关文章

网友评论

    本文标题:MongoDB中你所不关注的ObjectId数据类型

    本文链接:https://www.haomeiwen.com/subject/lwsxyftx.html