La classe MongoId

(PECL mongo >=0.8.0)

Avertissement

Cette extension, qui définie cette classe est obsolète. Veuillez utiliser l'extension MongoDB à la place. Les alertnatives à cette classe sont :

Introduction

Un identifiant unique créé par les objets de la base. Si un objet est inséré dans la base de données sans le champ _id, ce champ y sera ajouté en utilisant la valeur de l'instance MongoId. Si les données ont un champ unique naturel (comme un nom d'utilisateur ou un timestamp), il conviendra de l'utiliser, mais sa valeur ne sera pas remplacée par la valeur de l'instance MongoId.

Les instances de la classe MongoId remplissent le rôle d'un champ auto-incrémenté d'une base de données relationnelle : fournir une clé unique si la base de données n'en possède pas. L'auto-incrémentation ne fonctionne pas correctement lors de bases de données partagées, vu qu'il est très difficile de déterminer le prochain nombre de la séquence. Cette classe permet de trouver rapidement une valeur unique, y compris lors de l'utilisation de bases de données partagées.

Chaque MongoId est sur 12 octets (ces chaînes seront sur 24 caractères héxadécimaux). Les premiers 4 octets sont un timestamp, les 3 suivants, un hash du nom de la machine cliente, les 2 suivants, les 2 derniers octets significatifs de l'identifiant du processus exécutant le script, et les 3 derniers, une valeur incrémentée.

Un MongoId est linéarisable/délinéarisable. Leur forme linéarisé est similaire à la forme d'une chaîne de caractères :

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

Synopsis de la classe

MongoId {
public string $$id = NULL ;
/* Méthodes */
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
}

Champs

$id
Ce champ contient la représentation sous forme de chaine de cet objet.

Note: Le nom de la propriété commence avec un caractère $. Il peut être accédé en utilisant une syntaxe d'analyser complexe de variable (i.e. $mongoId->{'$id'}).

Voir aussi

Documentation de MongoDB » concernant les ObjectIds.

Sommaire