MongoCursor::slaveOkay
(PECL mongo >=0.9.4)
MongoCursor::slaveOkay — Устанавливает, может ли этот запрос быть выполнен на вторичном сервере [устарел]
Описание
Этот метод устарел с версии 1.5.0. Вместо этого, пожалуйста, используйте MongoCursor::setReadPreference() и Предпочтения чтения.
Использование этого вызовет чтение маршрута драйвера для вторичных серверов, если:
- Вы используете набор реплик, и
-
Вы создали экземпляр MongoClient, используя опцию
"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);
?>
Смотрите также
- Предпочтения чтения
- MongoCursor::setReadPreference() - Устанавливает предпочтения чтения для запроса
- MongoCursor::getReadPreference() - Получает предпочтения чтения для запроса
Список изменений
Версия | Описание |
---|---|
PECL mongo 1.5.0 | Метод устарел. Используйте вместо него MongoCursor::setReadPreference() и Предпочтения чтения. |