(PECL mongo >=0.9.4)
MongoCursor::slaveOkay — Устанавливает, может ли этот запрос быть выполнен на вторичном сервере [устарел]
Этот метод устарел с версии 1.5.0. Вместо этого, пожалуйста, используйте MongoCursor::setReadPreference() и Предпочтения чтения.
Использование этого вызовет чтение маршрута драйвера для вторичных серверов, если:
"replicaSet" => "setName"
, и
server
покажет, на какой сервер был отправлен запрос.
Обратите внимание, что вы должны использовать эту функцию, даже если вы не используете автоматическую маршрутизацию к вторичным серверам. Если вы подключаетесь напрямую к вторичному серверу в наборе реплик, вам все равно нужно вызвать эту функцию, которая в основном сообщает базе данных, что вы знаете, что вы можете получать более старые данные, и с этим все в порядке. Если вы не выполните это, вы получите ошибку "not master" при попытке запроса.
Этот метод переопределит статичную переменную класса MongoCursor::$slaveOkay. Также переопределит Mongo::setSlaveOkay(), MongoDB::setSlaveOkay() и MongoCollection::setSlaveOkay().
okay
Если все в порядке, чтобы запросить вторичный сервер.
Возвращает курсор.
Выдает исключение MongoCursorException, если этот курсор начал итерацию.
Пример #1 Пример использования MongoCursor::slaveOkay()
<?php
MongoCursor::$slaveOkay = false;
// не можем запросить вторичный сервер
$cursor = $collection->find();
// можем запросить вторичный сервер
$cursor = $collection->find()->slaveOkay();
MongoCursor::$slaveOkay = true;
// можем запросить вторичный сервер
$cursor = $collection->find();
// не можем запросить вторичный сервер
$cursor = $collection->find()->slaveOkay(false);
?>
Версия | Описание |
---|---|
1.5.0 | Метод устарел. Используйте вместо него MongoCursor::setReadPreference() и Предпочтения чтения. |