Execute a database command on this server

MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server
PHP Manual

# MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommand — Execute a database command on this server

### Description

final public MongoDB\Driver\Cursor MongoDB\Driver\Server::executeCommand ( string `$db` , MongoDB\Driver\Command `$command` [, MongoDB\Driver\ReadPreference `$readPreference` ] )

Executes `command` on this server.

> Note:

> The `readPreference` parameter does not control the server to which the driver issues the command; the command will always be executed on this server object. Instead, it may be used when issuing the command to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the command document, respectively.

### Parameters

`db` (string)

  The name of the database on which to execute the command.

`command` (MongoDB\Driver\Command)

  The MongoDB\Driver\Command to execute.

`readPreference` (MongoDB\Driver\ReadPreference)

  Optionally, a MongoDB\Driver\ReadPreference to select the server for this operation. If none is given, the read preference from the MongoDB Connection URI will be used.

### Return Values

Returns MongoDB\Driver\Cursor on success.

### Errors/Exceptions

- Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
- Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
- Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
- Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

### Notes

> Note:

> This method does not take a MongoDB\Driver\WriteConcern parameter. For write commands (e.g. » findAndModify in MongoDB 3.2+), the write concern should be included in the `command` document itself.

> It is the caller's responsibility to ensure that the server is capable of executing the command. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

### See Also

- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\ReadPreference
- MongoDB\Driver\Manager::executeCommand() - Execute a database command

MongoDB\Driver\Server::executeBulkWrite
MongoDB\Driver\Server::executeQuery
MongoDB\Driver\Server
PHP Manual