Spec-Zone.ru › Yii 2.0

Класс yii\mongodb\Connection

Все классы | Свойства | Методы | События
Наследование yii\mongodb\Connection » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2-mongodb/blob/master/Connection.php

Connection представляет собой подключение к серверу MongoDb.

Connection работает совместно с yii\mongodb\Database и yii\mongodb\Collection для обеспечения доступа к данным в базе данных Mongo. Они являются оболочками для [[MongoDB PHP extension]](http://us1.php.net/manual/en/book.mongo.php).

Для установления подключения к базе данных, задайте $dsn, а затем вызовите open() со значением true.

Следующий пример демонстрирует, как создать экземпляр Connection и установить подключение к базе данных:

$connection = new \yii\mongodb\Connection([
    'dsn' => $dsn,
]);
$connection->open();

После установления подключения к Mongo, можно получить доступ к базам данных и коллекциям Mongo:

$database = $connection->getDatabase('my_mongo_db');
$collection = $database->getCollection('customer');
$collection->insert(['name' => 'John Smith', 'status' => 1]);

Вы можете работать с несколькими разными базами данных на одном сервере с помощью этого класса. Однако, хотя маловероятно, что вашему приложению это понадобится, класс Connection предоставляет возможность использовать $defaultDatabaseName, а также сокращенный метод getCollection() для получения конкретного экземпляра коллекции:

// get collection 'customer' from default database:
$collection = $connection->getCollection('customer');
// get collection 'customer' from database 'mydatabase':
$collection = $connection->getCollection(['mydatabase', 'customer']);

Connection часто используется как компонент приложения и настраивается в конфигурации приложения, как показано ниже:

[
     'components' => [
         'mongodb' => [
             'class' => '\yii\mongodb\Connection',
             'dsn' => 'mongodb://developer:password@localhost:27017/mydatabase',
         ],
     ],
]

Публичные свойства

Свойство Тип Описание Определено
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$database yii\mongodb\Database Экземпляр базы данных. yii\mongodb\Connection
$defaultDatabaseName string Имя базы данных по умолчанию. yii\mongodb\Connection
$driverOptions array Параметры для драйвера MongoDB. yii\mongodb\Connection
$dsn string Хост:порт Правильный синтаксис: mongodb://[имя_пользователя:пароль@]хост1[:порт1][,хост2[:порт2:],. yii\mongodb\Connection
$enableLogging boolean Включить протоколирование выполнения команд и запросов. yii\mongodb\Connection
$enableProfiling boolean Включить профилирование команд и запросов. yii\mongodb\Connection
$fileCollection yii\mongodb\file\Collection Экземпляр коллекции Mongo GridFS. yii\mongodb\Connection
$fileStreamProtocol string Название протокола, который должен использоваться для оболочки потока GridFS. yii\mongodb\Connection
$fileStreamWrapperClass string Имя класса, который должен использоваться в качестве оболочки потока для протокола $fileStreamProtocol. yii\mongodb\Connection
$isActive boolean Установлено ли подключение к Mongo. yii\mongodb\Connection
$logBuilder yii\mongodb\LogBuilder Создатель логов для этого подключения. yii\mongodb\Connection
$manager \MongoDB\Driver\Manager Менеджер драйвера MongoDB. yii\mongodb\Connection
$options array Параметры подключения. yii\mongodb\Connection
$queryBuilder yii\mongodb\QueryBuilder Построитель запросов для этого подключения MongoDB. yii\mongodb\Connection
$typeMap array Карта типов для десериализации BSON. yii\mongodb\Connection

Публичные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в null. yii\base\Component
attachBehavior() Присоединяет поведение к компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен действовать этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
close() Закрывает текущее активное подключение к БД. yii\mongodb\Connection
createCommand() Создаёт команду MongoDB. yii\mongodb\Connection
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getCollection() Возвращает коллекцию MongoDB с заданным именем. yii\mongodb\Connection
getDatabase() Возвращает базу данных MongoDB с заданным именем. yii\mongodb\Connection
getDefaultDatabaseName() Возвращает имя базы данных по умолчанию; если оно не установлено, пытается определить его из значения $dsn. yii\mongodb\Connection
getFileCollection() Возвращает коллекцию MongoDB GridFS. yii\mongodb\Connection
getIsActive() Возвращает значение, указывающее, установлено ли подключение к Mongo. yii\mongodb\Connection
getLogBuilder() Возвращает генератор логов для этого подключения. yii\mongodb\Connection
getQueryBuilder() Возвращает генератор запросов для этого подключения к MongoDB. yii\mongodb\Connection
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует объект. yii\base\Object
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
open() Устанавливает подключение к Mongo. yii\mongodb\Connection
registerFileStreamWrapper() Регистрирует оболочку потока GridFS для протокола $fileStreamProtocol. yii\mongodb\Connection
setDefaultDatabaseName() Устанавливает имя базы данных по умолчанию. yii\mongodb\Connection
setLogBuilder() Устанавливает генератор логов, используемый для этого подключения. yii\mongodb\Connection
setQueryBuilder() Устанавливает генератор запросов для этого подключения к MongoDB. yii\mongodb\Connection
trigger() Вызывает событие. yii\base\Component

Защищённые методы

Метод Описание Определено в
initConnection() Инициализирует подключение к БД. yii\mongodb\Connection
selectDatabase() Выбирает базу данных с заданным именем. yii\mongodb\Connection

События

Событие Тип Описание Определено в
EVENT_AFTER_OPEN \yii\mongodb\Event Событие, которое срабатывает после установления подключения к БД. yii\mongodb\Connection

Подробное описание свойств

$database общедоступное только для чтения свойство

Экземпляр базы данных.

public yii\mongodb\Database getDatabase ( $name = null, $refresh = false )

$defaultDatabaseName общедоступное свойство

Имя базы данных по умолчанию.

public string getDefaultDatabaseName ( )
public void setDefaultDatabaseName ( $name )

$driverOptions общедоступное свойство

Параметры для драйвера MongoDB. Любые специфичные для драйвера параметры, не включённые в строку подключения к MongoDB.

См. также http://php.net/manual/en/mongodb-driver-manager.construct.php.

public array $driverOptions = []

$dsn общедоступное свойство

Хост:порт

Правильный синтаксис: mongodb://[имя пользователя:пароль@]хост1[:порт1][,хост2[:порт2:],...][/имя базы данных] Например: mongodb://localhost:27017 mongodb://разработчик:пароль@localhost:27017 mongodb://разработчик:пароль@localhost:27017/моябазаданных

public string $dsn = null

$enableLogging общедоступное свойство (доступно с версии 2.1)

Включать ли протоколирование выполнения команд и запросов. При включенном режиме производительность может снизиться. Команды MongoDB могут содержать большие данные, потребляя при этом процессор и память. В производственной среде рекомендуется отключить этот параметр.

public boolean $enableLogging = true

$enableProfiling свойство общедоступное (доступно с версии 2.1)

Включить ли профилирование команд и запросов, которые выполняются. Этот параметр не будет иметь эффекта, если $enableLogging отключен.

public boolean $enableProfiling = true

$fileCollection общедоступное только для чтения свойство

Экземпляр коллекции Mongo GridFS.

public yii\mongodb\file\Collection getFileCollection ( $prefix = 'fs', $refresh = false )

$fileStreamProtocol общедоступное свойство (доступно с версии 2.1)

Имя протокола, который должен использоваться для оболочки потока GridFS. Разрешены только буквенно-цифровые значения: не используйте специальные символы URL, такие как '/', '&', ':' и т. д.

См. также yii\mongodb\file\StreamWrapper.

public string $fileStreamProtocol = 'gridfs'

$fileStreamWrapperClass общедоступное свойство (доступно с версии 2.1)

Имя класса, который должен служить оболочкой потока для протокола $fileStreamProtocol.

public string $fileStreamWrapperClass = 'yii\mongodb\file\StreamWrapper'

$isActive общедоступное только для чтения свойство

Установлено ли соединение с Mongo.

public boolean getIsActive ( )

$logBuilder общедоступное свойство

Построитель логов для этого соединения.

public yii\mongodb\LogBuilder getLogBuilder ( )
public void setLogBuilder ( $logBuilder )

$manager общедоступное свойство (доступно с версии 2.1)

Менеджер драйвера MongoDB.

public \MongoDB\Driver\Manager $manager = null

$options общедоступное свойство

Параметры подключения. Например:

[
    'socketTimeoutMS' => 1000, // how long a send or receive on a socket can take before timing out
    'ssl' => true // initiate the connection with TLS/SSL
]

См. также https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options.

public array $options = []

$queryBuilder общедоступное свойство

Построитель запросов для этого соединения MongoDB.

public yii\mongodb\QueryBuilder getQueryBuilder ( )
public void setQueryBuilder ( $queryBuilder )

$typeMap общедоступное свойство (доступно с версии 2.1)

Карта типов, используемая для BSON-десериализации. Примечание: карта типов по умолчанию будет автоматически объединена с этим полем, возможно, перезаписывая значения, заданные пользователем.

См. также http://php.net/manual/en/mongodb-driver-cursor.settypemap.php.

public array $typeMap = []

Подробное описание методов

close() public method

Закрывает текущее активное подключение к базе данных.

Не выполняет никаких действий, если подключение уже закрыто.

public void close ( )

createCommand() public method (available since version 2.1)

Создаёт команду MongoDB.

public yii\mongodb\Command createCommand ( $document = [], $databaseName = null )
$document array

Содержимое документа команды.

$databaseName string|null

Имя базы данных; если не задано, будет использовано значение $defaultDatabaseName.

return yii\mongodb\Command

Экземпляр команды.

getCollection() public method

Возвращает коллекцию MongoDB с заданным именем.

public yii\mongodb\Collection getCollection ( $name, $refresh = false )
$name string|array

Имя коллекции. Если строка, считается именем коллекции в базе данных по умолчанию. Если массив, первый элемент считается именем базы данных, второй — именем коллекции в этой базе данных.

$refresh boolean

Перезагрузить экземпляр коллекции, даже если он найден в кэше.

return yii\mongodb\Collection

Экземпляр коллекции Mongo.

getDatabase() public method

Возвращает базу данных MongoDB с заданным именем.

public yii\mongodb\Database getDatabase ( $name = null, $refresh = false )
$name string|null

Имя базы данных; если null, используется значение по умолчанию.

$refresh boolean

Перезагрузить соединение с базой данных, даже если оно найдено в кэше.

return yii\mongodb\Database

Экземпляр базы данных.

getDefaultDatabaseName() public method

Возвращает имя базы данных по умолчанию. Если оно не задано, пытается определить его из значения $dsn.

public string getDefaultDatabaseName ( )
return string

Имя базы данных по умолчанию

throws yii\base\InvalidConfigException

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

getFileCollection() public method

Возвращает коллекцию MongoDB GridFS.

public yii\mongodb\file\Collection getFileCollection ( $prefix = 'fs', $refresh = false )
$prefix string|array

Префикс коллекции. Если строка, считается префиксом коллекции GridFS в базе данных по умолчанию. Если массив, первый элемент считается именем базы данных, второй — префиксом коллекции GridFS в этой базе данных; если второго элемента нет, используется префикс "fs" по умолчанию.

$refresh boolean

Перезагрузить экземпляр коллекции, даже если он найден в кэше.

return yii\mongodb\file\Collection

Экземпляр коллекции Mongo GridFS.

getIsActive() public method

Возвращает значение, указывающее, установлено ли соединение с Mongo.

public boolean getIsActive ( )
return boolean

Установлено ли соединение с Mongo

getLogBuilder() public method (available since version 2.1)

Возвращает конструктор лога для этого подключения.

public yii\mongodb\LogBuilder getLogBuilder ( )
return yii\mongodb\LogBuilder

Конструктор лога для этого подключения.

getQueryBuilder() public method (available since version 2.1)

Возвращает конструктор запросов для этого подключения MongoDB.

public yii\mongodb\QueryBuilder getQueryBuilder ( )
return yii\mongodb\QueryBuilder

Конструктор запросов для этого подключения MongoDB.

initConnection() protected method

Инициализирует соединение с базой данных.

Этот метод вызывается сразу после установления соединения с базой данных. Стандартная реализация срабатывает событие EVENT_AFTER_OPEN.

protected void initConnection ( )

open() public method

Устанавливает соединение с Mongo.

Не выполняет никаких действий, если соединение с MongoDB уже установлено.

public void open ( )
throws yii\mongodb\Exception

если соединение не удалось установить

registerFileStreamWrapper() public method

Регистрирует оболочку потока файла GridFS для протокола $fileStreamProtocol.

public string registerFileStreamWrapper ( $force = false )
$force boolean

Принудительно регистрировать, даже если оболочка уже зарегистрирована.

return string

Зарегистрированный протокол потока.

selectDatabase() protected method

Выбирает базу данных с заданным именем.

protected yii\mongodb\Database selectDatabase ( $name )
$name string

Имя базы данных.

return yii\mongodb\Database

Экземпляр базы данных.

setDefaultDatabaseName() public method

Устанавливает имя базы данных по умолчанию.

public void setDefaultDatabaseName ( $name )
$name string

Имя базы данных по умолчанию.

setLogBuilder() public method (available since version 2.1)

Устанавливает конструктор лога, используемый для этого подключения.

public void setLogBuilder ( $logBuilder )
$logBuilder array|string|yii\mongodb\LogBuilder

Конструктор лога для этого подключения.

setQueryBuilder() public method (available since version 2.1)

Устанавливает конструктор запросов для этого подключения к MongoDB.

public void setQueryBuilder ( $queryBuilder )
$queryBuilder yii\mongodb\QueryBuilder|array|string|null

Конструктор запросов для этого подключения к MongoDB.

Подробное описание событий

EVENT_AFTER_OPEN событие типа \yii\mongodb\Event

Событие, которое срабатывает после установления подключения к БД

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-connection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API