MongoDB - ObjectId

MongoDB - ObjectId 首页 / MongoDB入门教程 / MongoDB - ObjectId

在之前的所有章节中,无涯教程一直在使用MongoDB ObjectID。在本章中,无涯教程将了解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")

创建时间戳

由于_id ObjectId默认情况下存储4字节的时间戳,因此在大多数情况下,您不需要存储创建时间,您可以使用getTimestamp方法获取文档的创建时间-

无涯教程网

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

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

ISODate("2014-04-12T21:49:17Z")

ObjectId转String

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

链接:https://www.learnfk.comhttps://www.learnfk.com/mongodb/mongodb-objectid.html

来源:LearnFk无涯教程网

>newObjectId.str

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

5349b4ddd2781d08c09890f3

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

黄勇的OKR实战笔记 -〔黄勇〕

Service Mesh实战 -〔马若飞〕

如何讲好一堂课 -〔薛雨〕

说透低代码 -〔陈旭〕

人人都用得上的数字化思维课 -〔付晓岩〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

商业思维案例笔记 -〔曹雄峰〕

现代C++20实战高手课 -〔卢誉声〕

结构写作力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)