MongoClient::close

(PECL mongo >=1.3.0)

MongoClient::closeCierra esta conexión

Descripción

public MongoClient::close ([ boolean|string $connection ] ) : bool

El método MongoClient::close() cierra forzosamente una conexión a la base de datos, incluso si se están usando conexiones persistentes. Nunca se debería realizar esto bajo circunstancias normales.

Parámetros

connection

La conexión. Si no se proporciona una, o es FALSE, la conexión que fuera seleccionada para escrituras será cerrada. En una configuración de un solo nodo, esto es, la conexión completa, y si se está conectado a un conjunto de réplica, close() solamente cerrará la conexión al servidor primario.

Si connection es TRUE, todas las conexiones disponibles en el administrador de conexiones serán cerradas. Esto puede incluir conexiones a las que no hace referencia la cadena de conexión usada para crear el objeto que se usa para invocar el cierre.

Si connection es un argumento de tipop string, solamente se cerrará la conexión identificada por este hash. Los hash son identificadores para una conexión que pueden obtenerse llamando a MongoClient::getConnections().

Valores devueltos

Devuelve si la conexión fue cerrada con éxito.

Ejemplos

Ejemplo #1 Ejemplo de MongoClient::close()

Este ejemplo muestra cómo cerrar selectivamente todas las conexiones únicamente a secundarios.

<?php
// Conectar a un conjunto de réplica
$a = new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$conexiones $a->getConnections();

foreach ( 
$conexiones as $con )
{
    
// Iterar sobre todas las conexiones, y cuando el tipo es "SECONDARY"
    // cerramos la conexión
    
if ( $con['connection']['connection_type_desc'] == "SECONDARY" )
    {
        echo 
"Cerrando '{$con['hash']}': ";
        
$cerrada $a->close$con['hash'] );
        echo 
$cerrada "ok" "falló""\n";
    }
}
?>

El resultado del ejemplo sería:

Closing 'whisky:13001;X;4948': ok

Historial de cambios

Versión Descripción
1.3.0

El parámetro connection de esta función fue añadido en la versión 1.3.0. Anteriormente, solamente se podía cerra la conexión de escritura mediante este método.

1.2.0

Antes de la versión 1.2.0, el controlador no utilizaba conexiones persistentes de forma predeterminada, por lo que todas las conexiones se cerraban tan pronto como una conexión de MongoDB estuviera fuera de ámbito. Desde la versión 1.2.0, este ya no es el caso, y es una mala idea invocar a close, ya que se podría terminar por sobrecargar el servidor con conexiones bajo una alta carga.

Ver también