教程 > mongodb 教程 > 阅读:15

mongodb object id——迹忆客-ag捕鱼王app官网

在之前的所有章节中,我们一直在使用 mongodb 对象 id。在本章中,我们将了解 objectid 的结构。

objectid是具有以下结构的12字节的bson类型数据

  • 前 4 个字节代表自 unix 纪元以来的秒数
  • 接下来的 3 个字节是机器标识符
  • 接下来的 2 个字节由进程 id 组成
  • 最后 3 个字节是一个随机计数器值

mongodb 使用 objectids 作为每个文档的_id字段的默认值,它是在创建文档时自动生成的。objectid 的复杂组合使所有 _id 字段都是唯一的。

创建新的 objectid

要生成新的 objectid,请使用以下代码

> newobjectid = objectid()

上述语句返回以下唯一生成的 id

objectid("5349b4ddd2781d08c09890f3")

除了 mongodb 生成 objectid,您还可以提供一个具有 12 字节的 id

> myobjectid = objectid("5349b4ddd2781d08c09890f4")

创建文档的时间戳

由于 objectid 中存储了 4 个字节的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 gettimestamp 函数来获取文档的创建时间:

> objectid("5349b4ddd2781d08c09890f4").gettimestamp()

以上代码将返回 iso 格式的文档创建时间:

isodate("2014-04-12t21:49:17z")

将 objectid 转换为字符串

在某些情况下,您可能需要字符串格式的 objectid 值。要将 objectid 转换为字符串,请使用以下代码

> newobjectid.str

上面的代码将返回 guid 的字符串格式 -

5349b4ddd2781d08c09890f3

查看笔记

扫码一下
查看教程更方便
网站地图