(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadCommand — 在该服务器上执行读取数据库命令
$db
, MongoDB\Driver\Command $command
, ?array $options
= null
): MongoDB\Driver\Cursor在该服务器上执行命令,与 "readPreference"
选项无关。
此方法将应用特定于读取命令的逻辑(例如 » distinct)。"readPreference"
和 "readConcern"
选项的默认值将从活动事务(由 "session"
选项指示)推断,然后是 连接 URI.
注意:
"readPreference"
选项不控制驱动程序发出操作的服务器;它始终会在该服务器对象上执行。相反,它可能用于在将操作发出到辅助服务器(来自副本集连接,而不是独立服务器)或 mongos 节点时使用,以确保驱动程序相应地设置线协议或将读取偏好分别添加到操作中。
db
(string)要执行命令的数据库的名称。
command
(MongoDB\Driver\Command)要执行的命令。
选项
选项 | 类型 | 说明 |
---|---|---|
readConcern | MongoDB\Driver\ReadConcern |
要应用于操作的读取关注。 此选项在 MongoDB 3.2+ 中可用,如果为旧版本的服务器指定此选项,将在执行时导致异常。 |
readPreference | MongoDB\Driver\ReadPreference |
用于选择操作服务器的读取偏好。 |
session | MongoDB\Driver\Session |
要与操作关联的会话。 |
如果您正在使用正在进行事务的 "session"
,则不能指定 "readConcern"
或 "writeConcern"
选项。这将导致抛出 MongoDB\Driver\Exception\InvalidArgumentException。相反,您应该在使用 MongoDB\Driver\Session::startTransaction() 创建事务时设置这两个选项。
成功时返回 MongoDB\Driver\Cursor。
"session"
选项与关联的事务结合使用,并且还使用了 "readConcern"
或 "writeConcern"
选项,则抛出 MongoDB\Driver\Exception\InvalidArgumentException。