MongoDB 专题
您的位置:database > MongoDB专题 > MongoDB ObjectId
MongoDB ObjectId
作者:--    发布时间:2019-11-20 09:35:02

在前面学习的所有章节中,都有使用了mongodb对象标识符。 在本章中,我们将了解objectid的结构。

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

  • 4个字节表示从unix纪元开始的秒数
  • 接下来的3个字节是机器标识符
  • 接下来的2个字节由进程id组成
  • 最后3个字节是随机计数器值

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

>newobjectid = objectid()

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

objectid("595b99d9f6a6243715b3c312")

还可以提供一个12字节的 id 来可代替 mongodb 生成 objectid -

>myobjectid = objectid("595b99d9f6a6243715b3c312")

创建文档的时间戳

由于_id objectid默认存储4字节的时间戳,在大多数情况下,不需要存储任何文档的创建时间。可以使用gettimestamp方法获取文档的创建时间 -

>objectid("595b99d9f6a6243715b3c312").gettimestamp()

这将以iso日期格式返回此文档的创建时间 -

> objectid("595b99d9f6a6243715b3c312").gettimestamp()
isodate("2017-07-04t13:36:25z")

将objectid转换为string

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

>newobjectid.str

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

595b99d9f6a6243715b3c312

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册