PHP Velho Oeste 2024

La classe MongoClient

(PECL mongo >=1.3.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 gestionnaire de connexion pour PHP et MongoDB.

Cette classe est utilisée pour créer et gérer les connexions. Voici une utilisation typique :

Exemple #1 Utilisation basique de MongoClient

<?php

$m 
= new MongoClient(); // connexion
$db $m->foo// récupération de la base de données nommée "foo"

?>

Voir MongoClient::__construct() ainsi que la section sur les connexions pour plus d'informations sur la création de connexion.

Synopsis de la classe

MongoClient {
/* Constantes */
const string VERSION ;
const string DEFAULT_HOST = "localhost" ;
const int DEFAULT_PORT = 27017 ;
const string RP_PRIMARY = "primary" ;
const string RP_PRIMARY_PREFERRED = "primaryPreferred" ;
const string RP_SECONDARY = "secondary" ;
const string RP_SECONDARY_PREFERRED = "secondaryPreferred" ;
const string RP_NEAREST = "nearest" ;
/* Propriétés */
public boolean connected = FALSE ;
public string status = NULL ;
protected string server = NULL ;
protected boolean persistent = NULL ;
/* Méthodes */
public __construct ([ string $server = "mongodb://localhost:27017" [, array $options = array("connect" => TRUE) [, array $driver_options ]]] )
public close ([ boolean|string $connection ] ) : bool
public connect ( void ) : bool
public dropDB ( mixed $db ) : array
public __get ( string $dbname ) : MongoDB
public static getConnections ( void ) : array
public getHosts ( void ) : array
public getReadPreference ( void ) : array
public getWriteConcern ( void ) : array
public killCursor ( string $server_hash , int|MongoInt64 $id ) : bool
public listDBs ( void ) : array
public selectCollection ( string $db , string $collection ) : MongoCollection
public selectDB ( string $name ) : MongoDB
public setReadPreference ( string $read_preference [, array $tags ] ) : bool
public setWriteConcern ( mixed $w [, int $wtimeout ] ) : bool
public __toString ( void ) : string
}

Constantes pré-définies

MongoClient Constants

MongoClient::VERSION
Version du driver PHP. Peut être suffixée avec "dev", "+" ou "-" s'il s'agit d'une version intermédiaire.
MongoClient::DEFAULT_HOST
Hôte de connexion si aucun hôte n'est fourni.
MongoClient::DEFAULT_PORT
Port de connexion si aucun port n'est fourni.
MongoClient::RP_PRIMARY
Les préférences de lecture pour le membre du jeu de réplication primaire.
MongoClient::RP_PRIMARY_PREFERRED
Les préférences de lecture pour choisir le membre préféré du jeu de réplication primaire.
MongoClient::RP_SECONDARY
Les préférences de lecture pour un membre du jeu de réplication secondaire.
MongoClient::RP_SECONDARY_PREFERRED
Les préférences de lecture pour choisir le membre préféré du jeu de réplication secondaire.
MongoClient::RP_NEAREST
Les préférences de lecture pour le membre le plus proche du jeu de réplication.

Champs

connected

Cette propriété devrait être définie à TRUE si nous avons une connexion ouverte sur la base de données,FALSE sinon. Si la connexion est un jeu de réplication, cette propriété ne pourra valoir que TRUE si le driver a une connexion à noeud correspondant à la préférence de lecture courante. Cette propriété ne prend pas en compte l'identification.

Cette propriété est obsolète depuis la version 1.5.0.

status

Cette propriété n'est plus utilisée et devrait être définie à NULL. Dans les versions 1.1.x et précédentes du driver, cette propriété devait être définie en tant que chaîne de caractères (i.e. "recycled", "new") lorsque les connexions persistentes étaient utilisées.

Cette propriété est obsolète depuis la version 1.5.0.

Voir aussi

Sommaire

add a note add a note

User Contributed Notes 5 notes

up
8
mike at eastghost dot com
11 years ago
This will help maintain sanity while debugging replicaSet connectivity problems:

error_reporting( E_ALL )
// print every log message possible
\MongoLog::setLevel(\MongoLog::ALL); // all log levels
\MongoLog::setModule(\MongoLog::ALL); // all parts of the driver
up
5
mike at eastghost dot com
11 years ago
php monogo driver 1.3.4
feb 2013

After demoting old replicaset primary to secondary, and promoting old replicaset second into primary, we began seeing "No candidate servers found" MongoException at initial attempt to connect to (new) replicaset primary (via this hint in the /etc/mongo.conf: replSet = rs1/pri.eastghost.com)

Fix seems to be

1. NEVER list "localhost" in the bind= line of /etc/mongo.conf

2. ALWAYS list every replica set member in every member's /etc/hosts file -- there seems to be something wrong with DNS lookup timing.
up
-1
East Ghost Com
7 years ago
One MongoClient is required per every MongoDB.

So, if you have a website-specific database but also a shared database (like maybe one holding ZipCodes and State names), then each needs its own MongoClient.  One MongoClient can not be shared amongst multiple MongoDB's.
up
-3
bennettsst at NOSPAM dot gmail dot com
9 years ago
Using the 1.2.5-5.5 vc11 driver the connected attribute is depracted.
up
-29
jazz at funkynerd dot com
11 years ago
Seeing as the Mongo class has been deprecated, I'm using the following code to allow compatibility with the pre 1.3.0 driver successfully.

<?php
$class
= 'MongoClient';

if(!
class_exists($class)){
           
   
$class = 'Mongo';
           
}
       
$conn = new $class($hosts, $args);
?>
To Top