40MongoDB ObjectId
目录
在前面学习的所有章节中,都有使用了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
关注右侧公众号,随时随地查看教程 MongoDB教程目录
转载自:https://www.yiibai.com/mongodb/mongodb_objectid.html


