MongoDB\Driver\Server::executeCommand
Execute a database command on this server
説明
final public MongoDB\Driver\Cursor MongoDB\Driver\Server::executeCommand(string $db
, MongoDB\Driver\Command $command
, arrayMongoDB\Driver\ReadPreferencenull $options
= null
)
This method applies no special logic to the command. Although this method
accepts "readConcern"
and
"writeConcern"
options, which will be incorporated into
the command document, those options will not default to corresponding values
from the MongoDB
Connection URI nor will the MongoDB server version be taken into
account. Users are therefore encouraged to use specific read and/or write
command methods if possible.
注意:
The "readPreference"
option does not control the server
to which the driver issues the operation; it will always be executed on
this server object. Instead, it may be used when issuing the operation 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 operation, respectively.
パラメータ
-
db
(string)
-
The name of the database on which to execute the command.
-
command
(MongoDB\Driver\Command)
-
The command to execute.
-
options
-
options
Option |
Type |
Description |
readConcern |
MongoDB\Driver\ReadConcern |
A read concern to apply to the operation.
This option is available in MongoDB 3.2+ and will result in an
exception at execution time if specified for an older server
version.
|
readPreference |
MongoDB\Driver\ReadPreference |
A read preference to use for selecting a server for the operation.
|
session |
MongoDB\Driver\Session |
A session to associate with the operation.
|
writeConcern |
MongoDB\Driver\WriteConcern |
A write concern to apply to the operation.
|
警告
If you are using a "session"
which has a transaction
in progress, you cannot specify a "readConcern"
or
"writeConcern"
option. This will result in an
MongoDB\Driver\Exception\InvalidArgumentException
being thrown. Instead, you should set these two options when you create
the transaction with
MongoDB\Driver\Session::startTransaction.
戻り値
Returns MongoDB\Driver\Cursor on success.
エラー / 例外
- Throws MongoDB\Driver\Exception\InvalidArgumentException if the
"session"
option is used with an associated transaction in combination with a "readConcern"
or "writeConcern"
option.
- Throws MongoDB\Driver\Exception\InvalidArgumentException if the
"session"
option is used in combination with an unacknowledged write concern.
- 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).
注意
注意:
It is the caller's responsibility to ensure that the server is capable
of executing the write operation. For example, executing a write operation
on a secondary (excluding its "local" database) will fail.
参考
- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Server::executeReadCommand
- MongoDB\Driver\Server::executeReadWriteCommand
- MongoDB\Driver\Server::executeWriteCommand
- MongoDB\Driver\Manager::executeCommand