Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

MongoDB\Database::command()

MongoDB\Database::command()

Ejecute un comando en la base de datos. Esto se utiliza generalmente para ejecutar comandos que no tienen un método asistente correspondiente dentro de la librería.

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

Un arreglo que especifica las opciones deseadas.

Nombre
Tipo
Descripción

readPreference

preferencia de lectura para su uso en la operación. Por defecto, se establece la preferencia de lectura de la base de datos.

sesión

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

Novedad 1.3 en la versión.:

typeMap

arreglo

El mapa de tipos que se debe aplicar a los cursores, lo que determina cómo se convierten los documentos BSON en valores PHP. Por defecto, se utiliza el mapa de tipos de la base de datos.

Un objeto MongoDB\Driver\Cursor.

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

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

La mayoría de los comandos de base de datos devuelven un solo documento de resultado, el cual puede obtenerse convirtiendo el cursor devuelto a un arreglo 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 se parecería a lo siguiente:

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

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

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

El resultado se parecería a lo siguiente:

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) {
}
}
}
}
}