美文网首页我爱编程
MongoDB中ObjectId生成规则参考

MongoDB中ObjectId生成规则参考

作者: Oceaner98 | 来源:发表于2018-05-19 20:49 被阅读0次

    MongoDB中我们经常会接触到一个自动生成的字段:”_id”,类型为ObjectId。本文会详解ObjectId的构成和使用。

    ObjectId构成

    之前我们使用MySQL等关系型数据库时,主键都是设置成自增的。但在分布式环境下,这种方法就不可行了,会产生冲突。为此,MongoDB采用了一个称之为ObjectId的类型来做主键。ObjectId是一个12字节的 BSON 类型字符串。按照字节顺序,一次代表:

    4字节:UNIX时间戳

    3字节:表示运行MongoDB的机器

    2字节:表示生成此_id的进程

    3字节:由一个随机数开始的计数器生成的值

    ObjectId获取时间

    从ObjectId的构造上来看,内部就嵌入了时间类型。我们肯定可以从中获取时间信息:即插入此文档时的时间。MongoDB对ObjectId对象提供了getTimestamp()方法来获取ObjectId的时间。

    相关文章

      网友评论

        本文标题:MongoDB中ObjectId生成规则参考

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