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 {
public string $id = NULL ;
/* 方法 */
public __construct ([ string|MongoId $id = NULL ] )
public static getHostname ( void ) : string
public getInc ( void ) : int
public getPID ( void ) : int
public getTimestamp ( void ) : int
public static isValid ( mixed $value ) : bool
public static __set_state ( array $props ) : MongoId
public __toString ( void ) : string
}

Fields

id
这个字段包含了该对象的字符串表达形式。

参见

关于 » ids 的 MongoDB 核心文档。

Table of Contents