downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

MongoId::__construct> <Les types
[edit] Last updated: Fri, 10 Feb 2012

view this page in

La classe MongoId

(No version information available, might only be in SVN)

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 intances de la classe MongoId remplit le rôle d'un champ auto-incrémenté d'un 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 impossible de trouver rapidement la valeur suivante. 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 $MongoId->$id = NULL ;
/* Méthodes */
public MongoId::__construct ([ string $id = NULL ] )
public static string MongoId::getHostname ( void )
public int MongoId::getInc ( void )
public int MongoId::getPID ( void )
public int MongoId::getTimestamp ( void )
public static MongoId MongoId::__set_state ( array $props )
public string MongoId::__toString ( void )
}

Champs

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

Voir aussi

Documentation de MongoDB » concernant les ids.

Sommaire



add a note add a note User Contributed Notes MongoId
alex dot turpin at gmail dot com 11-Jul-2011 11:15
If you need to get the actual ID string, and you try the usual way, PHP will whine because it starts with a dollar sign and it thinks it's a variable. Instead, use this notation:

<?php
    $mongoid
->{'$id'} //Get the $id property of a MongoId object
?>
sararschreiber at gmail dot com 12-Oct-2010 02:23
this is useful for querying for an object by id, given the id's hex:

<?php
$userid
= '4cb4ab6d7addf98506010000';

$theObjId = new MongoId($userid);

$connection = new Mongo();
$db = $connection->thedb->users;

// this will return our matching entry.
$item = $db->findOne(array("_id" => $theObjId));

$connection->close();

?>

 
show source | credits | sitemap | contact | advertising | mirror sites