美文网首页
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