MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkaySets whether this query can be done on a secondary [deprecated]

说明

public MongoCursor::slaveOkay ([ bool $okay = TRUE ] ) : MongoCursor
Warning

This method is deprecated since version 1.5.0. Instead, please use MongoCursor::setReadPreference() and 读取首选项.

Calling this will make the driver route reads to secondaries if:

  • You are using a replica set, and
  • You created a MongoClient instance using the option "replicaSet" => "setName", and
  • There is a healthy secondary that can be reached by the driver.
You can check which server was used for this query by calling MongoCursor::info() after running the query. It's server field will show which server the query was sent to.

Note that you should use this function even if you do not use the automatic routing to secondaries. If you connect directly to a secondary in a replica set, you still need to call this function, which basically tells the database that you are aware that you might be getting older data and you're okay with that. If you do not call this, you'll get "not master" errors when you try to query.

This method will override the static class variable MongoCursor::$slaveOkay. It will also override Mongo::setSlaveOkay(), MongoDB::setSlaveOkay() and MongoCollection::setSlaveOkay().

参数

okay

If it is okay to query the secondary.

返回值

Returns this cursor.

错误/异常

Throws MongoCursorException if this cursor has started iterating.

范例

Example #1 MongoCursor::slaveOkay() example

<?php

MongoCursor
::$slaveOkay false;

// cannot query secondary
$cursor $collection->find();

// can query secondary
$cursor $collection->find()->slaveOkay();

MongoCursor::$slaveOkay true;

// can query secondary
$cursor $collection->find();

// cannot query secondary
$cursor $collection->find()->slaveOkay(false);

?>

参见

更新日志

版本 说明
1.5.0 This method has been deprecated in favour of MongoCursor::setReadPreference() and 读取首选项.

相关文章
php map returns a representation that can be converted to jsonphp queue returns a representation that can be converted to jsonphp ncurses 函数 checks if terminal color definitions can be changedphp gearmanworker give the worker an identifier so it can be tracked when asking gearmand for the list of available workersphp mongocursor sets whether this cursor will wait for a while for a tailable cursor to return more dataphp mongocursor sets the fields for a queryphp mongocursor get the read preference for this queryphp mongocursor sets whether this cursor will timeoutphp mongocursor sets a server side timeout for this queryphp mongocursor sets whether this query can be done on a secondary deprecated php mongocursor use snapshot mode for the queryphp mongocursor sets whether this cursor will be left open after fetching the last resultsphp mongocursor sets a client side timeout for this queryphp recursiveregexiterator returns whether an iterator can be obtained for the current entryphp reflectionparameter returns whether this parameter can be passed by valuephp solrquery returns if a field will only be highlighted if the query matched in this particular fieldphp solrquery returns whether or not the query will be boosted by the interesting term relevancephp solrquery set if the query will be boosted by the interesting term relevancephp swoole server shutdown the master server process this function can be called in worker processes.php zookeeper sets the stream to be used by the library for logging
关注编程学问公众号