MongoDB\Database::command()
Definition
MongoDB\Database::command()
Execute a command on the database. This is generally used to execute commands that do not have a corresponding helper method within the library.
function command( array|object $command, array $options = [] ): MongoDB\Driver\Cursor
Parameters
$command
: array|object- The database command document.
$options
: arrayAn array specifying the desired options.
NameTypeDescriptionreadPreferenceRead preference to use for the operation. Defaults to the database's read preference.
sessionClient session to associate with the operation.
New in version 1.3.
typeMaparrayThe type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the database's type map.
Return Values
A MongoDB\Driver\Cursor object.
Errors/Exceptions
MongoDB\Exception\InvalidArgumentException
for errors related to
the parsing of parameters or options.
MongoDB\Driver\Exception\RuntimeException for other errors at the extension level (e.g. connection errors).
Example
Most database commands return a single result document, which can be obtained by converting the returned cursor to an array and accessing its first element. The following example executes a ping command and prints its result document:
$database = (new MongoDB\Client)->test; $cursor = $database->command(['ping' => 1]); var_dump($cursor->toArray()[0]);
The output would resemble:
object(MongoDB\Model\BSONDocument)#11 (1) { ["storage":"ArrayObject":private]=> array(1) { ["ok"]=> float(1) } }
Some database commands return a cursor with multiple results. The following
example executes listCollections,
which returns a cursor containing a result document for each collection in the
test
database. Note that this example is illustrative; applications would
generally use MongoDB\Database::listCollections()
in practice.
$database = (new MongoDB\Client)->test; $cursor = $database->command(['listCollections' => 1]); var_dump($cursor->toArray());
The output would resemble:
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) { } } } } }