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);
?>
La clase MongoClient
(PECL mongoclient >=1.3.0)
Introducción
Una conexión entre PHP y MongoDB.
Esta clase sirve para crear un administrar conexiones. Un uso típico es:
Ejemplo #1 Uso básido de MongoClient
<?php
$m = new MongoClient(); // conectar
$bd = $m->foo; // obtener la base de datos "foo"
?>
Véase MongoClient::__construct() y la sección sobre conexiones para más información para crear conexiones.
Sinopsis de la Clase
MongoClient
{
/* Constantes */
/* Propiedades */
protected
string
$server
=
NULL
;
protected
boolean
$persistent
=
NULL
;/* Métodos */
public __construct
([ string
}$server = "mongodb://localhost:27017"
[, array $options = array("connect" => TRUE)
]] )Constantes predefinidas
Constantes de MongoClient
-
MongoClient::VERSION - Versión del controlador de PHP. Podría estar sufijado con "+" o "-" si está entre versiones.
-
MongoClient::DEFAULT_HOST"localhost" - Host al que conectar si no se proporciona uno.
-
MongoClient::DEFAULT_PORT27017 - Puerto al que conectar si no se proporciona uno.
-
MongoClient::RP_PRIMARY"primary" - Preferencia de lectura para el miembro primario del conjunto de réplica.
-
MongoClient::RP_PRIMARY_PREFERRED"primaryPreferred" - Preferencia de lectura para elegir el miembro primario del conjunto de réplica.
-
MongoClient::RP_SECONDARY"secondary" - Preferencia de lectura para un miembro secundario del conjunto de réplica.
-
MongoClient::RP_SECONDARY_PREFERRED"secondaryPreferred" - Preferencia de lectura para elegir un miembro secundario del conjunto de réplica.
-
MongoClient::RP_NEAREST"nearest" - Preferencia de lectura para el miembro más cercano del conjunto de réplica.
Campos
- connected
-
Esta propiedad será establecida a
TRUEsi se tienen una conexión abierta a la base de datos basada en la ReadPreference y conjuntos de etiquetas (para conexiones de ReplicaSet),FALSEde lo contrario. Esta propiedad no toma en cuenta la autenticación. - status
-
Si se trabaja con una conexión persistente, si la conexión fue creada para
este objeto o está siendo rechazada. Si dicha conexión no es persistente,
este campo debería ser
NULL.
Ver también
- Preferencias de lectura
- Asuntos de Escritura (Write Concerns)
- Conexión
- Documentación del núcleo de MongoDB sobre » conexiones
Tabla de contenidos
- MongoClient::close — Cierra esta conexión
- MongoClient::connect — Conecta a un servidor de bases de datos
- MongoClient::__construct — Crea un nuevo objeto de conexión a base de datos
- MongoClient::dropDB — Elimina una base de datos [obsoleto]
- MongoClient::__get — Obtiene una base de datos
- MongoClient::getConnections — Devuelve información sobre todas las conexiones abiertas
- MongoClient::getHosts — Actualiza el estado de todos los hosts asociados
- MongoClient::getReadPreference — Obtener la preferencia de lectura para esta conexión
- MongoClient::listDBs — Enumera todas las bases de datos disponibles
- MongoClient::selectCollection — Obtiene una colección de bases de datos
- MongoClient::selectDB — Obtiene una base de datos
- MongoClient::setReadPreference — Establece la preferencia de lectura para esta conexión
- MongoClient::__toString — Representación de cadena de esta conexión
jazz at funkynerd dot com ¶
5 months ago
mike at eastghost dot com ¶
2 months 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
mike at eastghost dot com ¶
2 months 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.
