Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Меняемо | Список изменений |
---|---|---|---|
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 |
Краткое разъяснение конфигурационных директив.
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 строки.