Опции php.ini

Поведение этих функций зависит от установок в php.ini.

Опции настройки Mongo
Имя По умолчанию Место изменения Список изменений
mongo.allow_empty_keys 0 PHP_INI_ALL  
mongo.allow_persistent 1 PHP_INI_ALL Удалено в 1.2.0
mongo.chunk_size 262144 PHP_INI_ALL  
mongo.cmd "$" PHP_INI_ALL  
mongo.default_host "localhost" PHP_INI_ALL  
mongo.default_port 27017 PHP_INI_ALL  
mongo.is_master_interval 15 PHP_INI_ALL Добавлено в версии 1.2.10, до 1.3.0, значение по умолчанию 60.
mongo.long_as_object 0 PHP_INI_ALL  
mongo.native_long 1 PHP_INI_ALL До версии 1.5.0, значение по умолчанию 0.
mongo.ping_interval 5 PHP_INI_ALL Добавлено в версии 1.2.10
mongo.utf8 1 PHP_INI_ALL  
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mongo.allow_empty_keys int

Добавлено в версии 1.0.11.

Разрешить использование пустых строк ("") в качестве ключевых имен. По умолчанию драйвер будет бросать исключение при попытке установки пустой строки в качестве ключа в базе данных. Это очень легко допустить используя двойные кавычки с $-оператором, так что рекомендуется оставить этот параметр по умолчанию. Однако, если вам нужно хранить пустые ключи, вы можете включить эту опцию, чтобы драйвер позволил вам передать пустые строки в базу данных.

mongo.allow_persistent int

Разрешены ли постоянные соединения. (Удалено в 1.2.0 - теперь все соединения постоянны)

mongo.chunk_size int

Количество байт в фрагменте. Используется для разделения файлов GridFS. Это число должно быть как минимум на 100 байт меньше четырех мегабайт (максимум: 4194204 байт), но рекомендуется не использовать максимальное значение.

mongo.cmd string

Символ, который будет использоваться в модификаторах и сравнениях вместо $.

Так как легко можно забыть экранировать "$", вы можете выбрать свой собственный символ для экранирования. Выбирать имеет смысл чимвол, который не встречается в именах ваших ключей, например ":".

mongo.cmd = ":"

Теперь произведем сравнение:

<?php

$query 
= array( "i" => array( ":gt" => 20":lte" => 30 ) );

?>

Вы так же можете изменить этот символ используя ini_set("mongo.cmd", ":"). Вы так же можете использовать одинарные кавычки или \$.

mongo.default_host string

Имя хоста по умолчанию. Оно используется, если небыло задано в конструкторе.

mongo.default_port string

Порт, который будет использоваться для соединения с базуой данных, если он небыл указан в конструкторе. По умолчанию установлено как 27017.

mongo.is_master_interval int

Добавлено в версии 1.2.10.

Для соединения с репликой: Минимальный интервал, с которым драйвер будет посылать запросы "isMaster" на сервер MongoDB. Чем ниже будет эта величина, тем чаще будут отправляться такие запросы, но и тем быстрее драйвер будет обнаруживать изменения в топологии репликации.

mongo.long_as_object int

Возвращает BSON_LONG как экземпляр MongoInt64, а не как примитивный тип.

mongo.native-long int

Значение по умолчанию для этой опции будет изменен на true в 1.5.0, так что обязательно установите эту опцию в значение, которое вы хотите (вероятно true), чтобы работа драйвера внезапно не изменилась при обновлении.

На 64-битных платформах, опция mongo.native_long позволяет хранить 64-битные целые числа в MongoDB. Если данная опция не установлена, храниться будут только 32-битные числа. Если опция включена, тип данных в MongoDB будет BSON LONG, а не BSON INT, как в случае выключения данной опции.

Эта опция также меняет поведение при чтении полей BSON LONG из MohdoDB. Если mongo.native_long не будет разрешена, драйвер преобразует каждое BSON LONG в PHP тип float, что может привести к потере точности.

На 32-битных платформах, опция mongo.native_long не влияет на хранение целочисленных значений в MongoDB: целые будут храниться как BSON INT как и раньше. Однако, если этот параметр будет включен, при попытке прочитать BSON LONG из базы, будет вызвано исключение MongoCursorException, предупреждая о возможной потере точности.

Для 32-битных систем рекомендуется использовать эту настройку совместно с mongo.long_as_object.

mongo.ping_interval int

Добавлено в версии 1.2.10.

Для соединения с репликой: Минимальный интервал, с которым драйвер будет посылать запросы "ping" на сервер MongoDB. Чем ниже будет эта величина, тем чаще будут отправляться такие запросы, но и тем быстрее драйвер будет обнаруживать недоступность реплики.

mongo.utf8 int

Включает вызов исключений при получении не-UTF8 строки. До версии 1.0.4, PHP драйвер проигнорирует не UTF8 строки, даже если вы отключили работу с ними в Mongo. По состоянию на 1.0.4, драйвер выдает MongoException . Для облегчения перехода на новую версию драйвера приложений которые вставляют не UTF8 строки, в таблицы вы можете отключить эту опцию, чтобы съэмитировать работу предыдущей версии, без вызова исключений. Эта опция пропадет начиная с версии 1.1.0 и исключения будут всегда вызываться при попытки вставить не-UTF8 строки.