MongoId 类
(PECL mongo >=0.8.0)
简介
为数据库对象创建的唯一标识符。 如果插入数据库的对象不具有 _id 字段,将会为 _id 字段添加一个 MongoId 实例作为值。 如果数据具有自然的唯一字段(比如说,用户名或 timestamp),用来作为 _id 字段也不错,它不会被 一个 MongoId 替换。
MongoId 类实例满足了关系数据库中自增列的角色: 如果数据不具有天然的唯一键,则提供一个。 自增列在分布式数据库中不会工作得很好,因为它无法快速找到下一个数字。 这个类能够满足在分布式下快速产生唯一值的条件。
每个 MongoId 具有 12 个字节(使它的字符串形式是 24 个十六进制字符)。 前四个字节是一个时间戳(timestamp),后三个是客户端主机名的 hash 摘要,然后两个是运行脚本的进程 ID, 最后三位是一个自增值。
MongoId 是可以序列化/反序列化的。 它们序列化后的格式和它们的字符串格式比较像:
C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
类摘要
MongoId
{
/* 方法 */
}Fields
- id
- 这个字段包含了该对象的字符串表达形式。
参见
关于 » ids 的 MongoDB 核心文档。
Table of Contents
- MongoId::__construct — 创建一个新的id
- MongoId::getHostname — 获取这台机器上 id 所使用的 hostname
- MongoId::getInc — 返回用于创建 id 所增加的值
- MongoId::getPID — 获取进程 ID
- MongoId::getTimestamp — 获取新纪元时间到 id 创建时的秒数。
- MongoId::isValid — Check if a value is a valid ObjectId
- MongoId::__set_state — 创建一个假的 MongoId
- MongoId::__toString — 返回该 id 十六进制的表示形式