Classes internes
PHP Manual

La classe MongoDB

(PECL mongo >=0.9.0)

Introduction

Les objets de cette classe servent à interagir avec la base de données. Pour obtenir une base de données :

Exemple #1 Sélection d'une base de données

<?php

$m 
= new MongoClient(); // connexion
$db $m->selectDB("exemple");

?>
Les noms de base de données peuvent contenir n'importe quel caractère ASCII. Mais ils ne peuvent pas contenir les caractères " ", "." ou être la chaîne vide. Le mot "system" est aussi réservé.

Quelques noms de base de données valides mais inattendus : "null", "[x,y]", "3", à"\"", "/".

Contrairement aux noms de collection, les noms de bases de données peuvent contenir "$".

Synopsis de la classe

MongoDB {
/* Constantes */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Champs */
public integer $w = 1 ;
public integer $wtimeout = 10000 ;
/* Méthodes */
public array authenticate ( string $username , string $password )
public array command ( array $command [, array $options = array() [, string &$hash ]] )
public __construct ( MongoClient $conn , string $name )
public MongoCollection createCollection ( string $name [, array $options ] )
public array createDBRef ( string $collection , mixed $document_or_id )
public array drop ( void )
public array dropCollection ( mixed $coll )
public array execute ( mixed $code [, array $args = array() ] )
public bool forceError ( void )
public MongoCollection __get ( string $name )
public array getCollectionInfo ([ array $options = array() ] )
public array getCollectionNames ([ array $options = array() ] )
public array getDBRef ( array $ref )
public MongoGridFS getGridFS ([ string $prefix = "fs" ] )
public int getProfilingLevel ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array getWriteConcern ( void )
public array lastError ( void )
public array listCollections ([ array $options = array() ] )
public array prevError ( void )
public array repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string $name )
public int setProfilingLevel ( int $level )
public bool setReadPreference ( string $read_preference [, array $tags ] )
public bool setSlaveOkay ([ bool $ok = TRUE ] )
public bool setWriteConcern ( mixed $w [, int $wtimeout ] )
public string __toString ( void )
}

Constantes pré-définies

Niveaux d'historisation de MongoDB

MongoDB::PROFILING_OFF
Le profilage est inactif.
MongoDB::PROFILING_SLOW
Le profilage est actif pour les opérations lentes (>100 ms).
MongoDB::PROFILING_ON
Le profilage est actif sur toutes les opérations.

Champs

w
1

Le nombre de serveurs vers lesquels répliquer avant de retourner avec succès. Hérité par les instances dérivées de la MongoCollection La fonctionnalité w n'est disponible que pour les versions 1.5.1+ du serveur MongoDB et 1.0.8+ du pilote.

w est utilisé chaque fois que vous avez besoin d'ajuster le niveau de reconnaissance (MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), et MongoCollection::ensureIndex() supportent tous cette option). Avec la valeur par défaut (1), une opération reconnue retournera une fois que le serveur a effectué l'opération. Si le serveur tombe avant que l'opération ne soit répliquée vers un secondaire, il est possible de perdre l'opération. Ainsi vous pouvez préciser une valeur supérieure à 1 pour le paramètre w et garantir qu'au moins un secondaire recoive l'opération avant qu'elle ne soit considérée comme étant réalisée avec succès.

Par exemple si w vaut 2, le serveur principal et un des secondaires doivent avoir enregistré l'opération ou le pilote enverra une MongoCursorException. Il est tentant de mettre le nombre total d'escalves + le maitre comme numéro pour w, mais alors si un des secondaires tombe l'opération échouera et une exception sera levée, ainsi w=2 est le cas le plus sécurisant (maitre et un secondaire).

wtimeout
10000

Le nombre de millisecondes à attendre pour que les réplications de MongoDB::$w démarrent. Hérité par les instances dérivées dans la MongoCollection en cours. La fonctionnalité w n'est disponible que depuis la version 1.5.1+ du serveur MongoDB et 1.0.8+ du pilote.

Sauf si wtimeout est précisé, le serveur attendra indéfiniment que la réplication vers les serveurs w se termine. Le pilote attendra par défaut 10 secondes, vous pouvez changer cette valeur.

Voir aussi

Documentation de MongoDB » concernant les bases de données.

Sommaire


Classes internes
PHP Manual