bytes在mongodb中的含义,每个文档中的_id集合

7qhs6swi  于 2023-01-30  发布在  Go
关注(0)|答案(1)|浏览(132)

mongodb集合中_id属性中存在的每个字节的含义是什么?在mongodb的站点中有三个有意义的值:
表示自Unix纪元以来的秒数的4字节时间戳值(其直到2106年才用完秒数)、5字节随机值以及从随机值开始的3字节递增计数器。
但正如mosh hamedany和chatGPT所说:它是一个12字节的BSON类型,由4字节的时间戳、3字节的机器ID、2字节的进程ID和3字节的计数器组成。
其中有一个是真的

4xrmg8kj

4xrmg8kj1#

official documentation表示:
对象ID()

    • 返回新的ObjectId。12字节的ObjectId包含:**
  • 一个4字节的时间戳,表示ObjectId的创建,从Unix纪元开始以秒为单位。
  • 每个进程生成一次的5字节随机值。此随机值对于计算机和进程是唯一的。
  • 3字节递增计数器,初始化为随机值。

当你回到MongoDB 3.2版的文档时,它会更详细一些:

  • 表示自Unix纪元以来的秒数的4字节值,
  • 3字节机器标识符,
  • 2字节的进程ID,以及
  • 3字节计数器,从随机值开始。

如果您想了解详细信息,请查看source code

相关问题