(PECL mongo >= 1.5.0)
При обращении к MongoDB 2.6.0 и более поздним версиям, некоторые операции (например, запись) могут вызвать исключение MongoProtocolException, когда ответ от сервера не имеет смысла - например, во время сбоя сети (мы могли прочитать весь ответ) или повреждения данных.
Это исключение также выдается при попытке использовать новые протоколы, которые поддерживает сервер, например, используя MongoWriteBatch при обращении к серверу MongoDB до версии 2.6.0.
Пример #1 Отлавливаем MongoProtocolException
Выполнение следующего примера с MongoDB до 2.6.0 вызовет исключение MongoProtocolException
<?php
$mc = new MongoClient("localhost");
$c = $mc->selectCollection("test", "test");
try {
$batch = new MongoInsertBatch($c);
} catch(MongoProtocolException $e) {
echo $e->getMessage();
}
?>
Результатом выполнения данных примеров будет что-то подобное:
Текущий основной сервер не имеет API записи