美文网首页
MongoDB开发之 _id和ObjectId

MongoDB开发之 _id和ObjectId

作者: 五月笙 | 来源:发表于2020-12-17 14:36 被阅读0次
    MongoDB中存储的文档必须要有一个”_id“键。这个键的值可以是任何类型,默认是个ObjectId对象。
    

    ObjectId

    ObjectId是_id的默认类型。

    ObjectId使用12字节的存储空间,是一个由24个16进制数字组成的字符串(每个字节可以存储两个16进制数字)。
    
    MongoDB_ObjectId.png
    a 4-byte timestamp value, representing the ObjectId’s creation, measured in seconds since the Unix epoch
    a 5-byte random value
    a 3-byte incrementing counter, initialized to a random value
    
    时间戳
    • 与随后的5个字节组合,确保秒级别的唯一性
    • 大致会有根据时间的插入顺序
    • 隐含了文档的创建时间,可以通过ObjectId获取
    机器

    主机的唯一标识,通常为主机名的散列值(hash)。

    PID

    生成ObjectId的进程的进程唯一标识(PID)

    计数器

    自动增加的计数器

    自动生成_id

    插入时没有创建"_id"键,系统会自动创建。通常在客户端由驱动程序完成。

    能交给客户端做的事情,就不需要服务器来做。
    

    参考

    MongoDB权威指南
    MongoDB Documentation ObjectId

    相关文章

      网友评论

          本文标题:MongoDB开发之 _id和ObjectId

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