(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadCommand — 在此伺服器上執行讀取的資料庫命令
$db
, MongoDB\Driver\Command $command
, ?陣列 $options
= null
): MongoDB\Driver\Cursor在此伺服器上執行指令,不考慮 "readPreference"
選項。
此方法將套用特定於讀取指令的邏輯(例如 » distinct)。"readPreference"
和 "readConcern"
選項的預設值將從有效交易(由 "session"
選項指示)推斷,然後從 連線 URI 推斷。
注意:
"readPreference"
選項並*不*控制驅動程式發出操作的伺服器;它將始終在此伺服器物件上執行。相反地,當向次要節點(來自副本集連線,而不是獨立節點)或 mongos 節點發出操作時,可以使用它來確保驅動程式分別相應地設定線路協定或將讀取偏好設定新增到操作中。
db
(字串)要執行指令的資料庫名稱。
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。