downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

MongoCursor::snapshot> <MongoCursor::skip
[edit] Last updated: Mon, 20 May 2013

view this page in

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

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

Description

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

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.

Errors/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Examples

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);

?>

See Also



add a note add a note User Contributed Notes MongoCursor::slaveOkay - [0 notes]
There are no user contributed notes for this page.

 
show source | credits | sitemap | contact | advertising | mirror sites