MongoDB\Database::command()
Definição
MongoDB\Database::command()
Execute umcomando no banco de dados. Isso geralmente é usado para executar comandos que não têm um método de ajuda correspondente dentro da biblioteca.
function command( array|object $command, array $options = [] ): MongoDB\Driver\Cursor
Parâmetros
$command
: array|object- O documento de comando de banco de dados de dados.
$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãoreadPreference
Preferência de leitura a ser usada na operação. O padrão é a preferência de leitura do banco de dados.
session
Sessão do cliente a ser associada à operação.
Novidade na versão 1.3.
typeMap
array
O mapa de tipos aplicar aos cursores, o que determina como os documentos BSON são convertidos em valores PHP. O padrão é o mapa de tipos do banco de dados.
Return Values
Um MongoDB\Driver\Cursor objeto.
Erros/exceções
MongoDB\Exception\InvalidArgumentException
para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Exemplo
A maioria dos comandos de banco de dados de dados retorna um único documento de resultado , que pode ser obtido convertendo o cursor retornado em uma array e acessando seu primeiro elemento. O exemplo a seguir executa um comando ping e imprime seu documento de resultado:
$database = (new MongoDB\Client)->test; $cursor = $database->command(['ping' => 1]); var_dump($cursor->toArray()[0]);
A saída se assemelha a:
object(MongoDB\Model\BSONDocument)#11 (1) { ["storage":"ArrayObject":private]=> array(1) { ["ok"]=> float(1) } }
Alguns comandos do banco de dados retornam um cursor com múltiplos resultados. O exemplo a seguir executa listCollections, que retorna um cursor contendo um documento de resultado para cada collection no banco de dados test
. Observe que este exemplo é ilustrativo; os aplicativos geralmente usariam MongoDB\Database::listCollections()
na prática.
$database = (new MongoDB\Client)->test; $cursor = $database->command(['listCollections' => 1]); var_dump($cursor->toArray());
A saída se assemelha 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) { } } } } }
Veja também
Comandos de banco de dados no manual do MongoDB