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
] )
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