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 authenticate ( string $username , string $password ) : array
public command ( array $command [, array $options = array() [, string &$hash ]] ) : array
public __construct ( MongoClient $conn , string $name )
public createCollection ( string $name [, array $options ] ) : MongoCollection
public createDBRef ( string $collection , mixed $document_or_id ) : array
public drop ( void ) : array
public dropCollection ( mixed $coll ) : array
public execute ( mixed $code [, array $args = array() ] ) : array
public forceError ( void ) : bool
public __get ( string $name ) : MongoCollection
public getCollectionInfo ([ array $options = array() ] ) : array
public getCollectionNames ([ array $options = array() ] ) : array
public getDBRef ( array $ref ) : array
public getGridFS ([ string $prefix = "fs" ] ) : MongoGridFS
public getProfilingLevel ( void ) : int
public getReadPreference ( void ) : array
public getSlaveOkay ( void ) : bool
public getWriteConcern ( void ) : array
public lastError ( void ) : array
public listCollections ([ array $options = array() ] ) : array
public prevError ( void ) : array
public repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] ) : array
public resetError ( void ) : array
public selectCollection ( string $name ) : MongoCollection
public setProfilingLevel ( int $level ) : int
public setReadPreference ( string $read_preference [, array $tags ] ) : bool
public setSlaveOkay ([ bool $ok = TRUE ] ) : bool
public setWriteConcern ( mixed $w [, int $wtimeout ] ) : bool
public __toString ( void ) : string
}

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