(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。