Наша группа в телеграмм для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

MongoCursor::slaveOkay

(PECL mongo >=0.9.4)

MongoCursor::slaveOkay — Sets whether this query can be done on a slave


Описание

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

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

  • You are using a replica set and
  • You created a Mongo instance using the option "replicaSet" => true and
  • There is a healthy slave 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 slaves. 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 slave.


Возвращаемые значения

Returns this cursor.


Ошибки

Throws MongoCursorException if this cursor has started iterating.


Примеры

Пример #1 MongoCursor::slaveOkay() example
MongoCursor::$slaveOkay = false;
// cannot query slave
$cursor = $collection->find();
// can query slave
$cursor = $collection->find()->slaveOkay();
MongoCursor::$slaveOkay = true;
// can query slave
$cursor = $collection->find();
// cannot query slave
$cursor = $collection->find()->slaveOkay(false);


Описание класса mongocursor, примеры использования класса mongocursor.



Смотрите также:
Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание: