mongodb数据库教程-MongoDB 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 

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 mongodb数据库教程/a> 只为你绽放。

本文固定链接: http://kua0.com/2019/03/30/mongodb数据库教程-mongodb-objectid/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注