Docs Menu
Docs Home
/ /

MongoDB\Database::command()

MongoDB\Database::command()

Ejecutar una Comando en la base de datos. Generalmente, se usa para ejecutar comandos que no tienen un método auxiliar correspondiente en la biblioteca.

function command(
array|object $command,
array $options = []
): MongoDB\Driver\Cursor
$command : matriz|objeto
El documento de comando de base de datos.
$options : matriz

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

readPreference

Preferencia de lectura para la operación. El valor predeterminado es la preferencia de lectura de la base de datos.

sesión

Sesión de cliente para asociar a la operación.

Nuevo en la versión 1.3.

typeMap

arreglo

El mapa de tipos que se aplica a los cursores y que determina cómo se convierten los documentos BSON a valores PHP. El valor predeterminado es el mapa de tipos de la base de datos.

Un objeto MongoDB\Driver\Cursor.

MongoDB\Exception\InvalidArgumentException para errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).

La mayoría de los comandos de base de datos devuelven un único documento de resultados, que se puede obtener convirtiendo el cursor devuelto en una matriz y accediendo a su primer elemento. El siguiente ejemplo ejecuta un comando ping e imprime su documento de resultados:

<?php
$database = (new MongoDB\Client)->test;
$cursor = $database->command(['ping' => 1]);
var_dump($cursor->toArray()[0]);

El resultado sería similar a:

object(MongoDB\Model\BSONDocument)#11 (1) {
["storage":"ArrayObject":private]=>
array(1) {
["ok"]=>
float(1)
}
}

Algunos comandos de base de datos devuelven un cursor con múltiples resultados. El siguiente ejemplo ejecuta listCollections, que devuelve un cursor con un documento de resultados para cada colección de la test base de datos. Tenga en cuenta que este ejemplo es ilustrativo;MongoDB\Database::listCollections() en la práctica, las aplicaciones suelen usar.

<?php
$database = (new MongoDB\Client)->test;
$cursor = $database->command(['listCollections' => 1]);
var_dump($cursor->toArray());

El resultado sería similar a:

array(3) {
[0]=>
object(MongoDB\Model\BSONDocument)#11 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["name"]=>
string(11) "restaurants"
["options"]=>
object(MongoDB\Model\BSONDocument)#3 (1) {
["storage":"ArrayObject":private]=>
array(0) {
}
}
}
}
[1]=>
object(MongoDB\Model\BSONDocument)#13 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["name"]=>
string(5) "users"
["options"]=>
object(MongoDB\Model\BSONDocument)#12 (1) {
["storage":"ArrayObject":private]=>
array(0) {
}
}
}
}
[2]=>
object(MongoDB\Model\BSONDocument)#15 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["name"]=>
string(6) "restos"
["options"]=>
object(MongoDB\Model\BSONDocument)#14 (1) {
["storage":"ArrayObject":private]=>
array(0) {
}
}
}
}
}

Volver

agregar()

En esta página