mongo bson 对象ID

发布于 2024-10-27 10:12:57 字数 111 浏览 6 评论 0原文

好奇 BSON::ObjectId.id.data 数组代表什么?

例如[77, 145, 20, 13, 225, 96, 124, 5, 31, 0, 0, 1]

curious what the BSON::ObjectId.id.data array represents?

for example [77, 145, 20, 13, 225, 96, 124, 5, 31, 0, 0, 1]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最美不过初阳 2024-11-03 10:12:57

BSON::ObjectId.id.data 表示 12 字节的 objectId。
以下是每个字节的确切含义:

0123   456     78   9 10 11
 ^^     ^^     ^^     ^^
time  machine  pid    inc

BSON ObjectID 是一个 12 字节值
由 4 字节时间戳组成
(自纪元以来的秒数),一个 3 字节
机器 ID、2 字节进程 ID 和
3 字节计数器。请注意,
时间戳和计数器字段必须是
与其他存储不同的是大端存储
BSON。这是因为他们是
逐字节比较,我们想要
确保订单大部分递增。

ObjectId 文档

BSON::ObjectId.id.data represents 12 bytes of objectId.
Here's what exactly each byte mean:

0123   456     78   9 10 11
 ^^     ^^     ^^     ^^
time  machine  pid    inc

A BSON ObjectID is a 12-byte value
consisting of a 4-byte timestamp
(seconds since epoch), a 3-byte
machine id, a 2-byte process id, and a
3-byte counter. Note that the
timestamp and counter fields must be
stored big endian unlike the rest of
BSON. This is because they are
compared byte-by-byte and we want to
ensure a mostly increasing order.

ObjectId documentation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文