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