Php/docs/mongocursor.slaveokay
MongoCursor::slaveOkay
(PECL mongo >=0.9.4)
MongoCursor::slaveOkay — Sets whether this query can be done on a secondary [deprecated]
Description
public MongoCursor::slaveOkay
([ bool $okay
= TRUE
] ) : MongoCursor
Warning This method is deprecated since version 1.5.0. Instead, please use MongoCursor::setReadPreference() and Read Preferences.
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().
Parameters
okay
- If it is okay to query the secondary.
Return Values
Returns this cursor.
Examples
Example #1 MongoCursor::slaveOkay() example
<?phpMongoCursor::$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);?>
See Also
- Read Preferences
- MongoCursor::setReadPreference() - Set the read preference for this query
- MongoCursor::getReadPreference() - Get the read preference for this query
Changelog
Version | Description |
---|---|
PECL mongo 1.5.0 | This method has been deprecated in favour of |