MongoDB ObjectId
2年前 (2024-04-28)
本节我们来介绍一下 MongoDB 中的 ObjectId 的组成,ObjectId 是一个 12 字节的 BSON 类型,具有以下结构:
MongoDB 使用 ObjectId 作为每个文档 _id 字段的默认值,而且该值可以在创建文档时自动生成。ObjectId 的复杂组方式使得所有的 id 字段都是的。
前 4 个字节表示时间戳;
接下来的 3 个字节表示机器标识符;
紧接着的 2 个字节由进程 id(PID)组成;
3 个字节是一个随机计数器的值。
MongoDB 使用 ObjectId 作为每个文档 _id 字段的默认值,而且该值可以在创建文档时自动生成。ObjectId 的复杂组方式使得所有的 id 字段都是的。
创建新的 ObjectId
要生成一个新的 ObjectId,可以使用下面的代码:> newObjectId = ObjectId()
执行上面的语句,会生成一个的 _id,如下所示:ObjectId("6040966d8bafb296d166fe47")
除了可以使用 MongoDB 自动生成的 ObjectId 外,您也可以手动提供一个 12 字节的 ID,如下所示:> myObjectId = ObjectId("6040966d8bafb296d166fe50")
ObjectId("6040966d8bafb296d166fe50")
创建文档的时间戳
由于 ObjectId(_id)中默认存储了 4 个字节的时间戳,因此在大多数情况下,您再不需要单独存储任何文档的创建时间,只要使用 getTimestamp() 方法就可以获取文档的创建时间,getTimestamp() 方法可以使用 ISO 格式返回 ObjectId 中包含的时间,如下所示:> ObjectId("6040966d8bafb296d166fe50").getTimestamp()
ISODate("2021-03-04T08:12:29Z")
将 ObjectId 转换为 String
在某些情况下,您可能需要将 ObjectId 的值转换为字符串格式。要将 ObjectId 转换为字符串,可以使用以下代码:> newObjectId.str
上面的代码将返回 Guid 的字符串格式:604099da8bafb296d166fe48
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 充值卡代理(充值卡代理加盟)
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 广州晓港公园(广州晓港公园正门图片)
