Подключение к MongoDB

Последнее обновление: 30.10.2015

Для установки соединения с бд mongodb используется класс MongoClient. Он позволяет подключаться к mongodb (метод connect) и отключаться (метод close), а также выбирать базу данных (метод selectDB) и коллекцию для взаимодействия (метод selectCollection).

Стандартное подключение:

// Подключаемся к mongodb
$con = new MongoClient();
// выбираем базу данных test
$con-> test;

Также выбрать базу данных мы могли, применив метод selectDB:

$con-> selectDB(test);

Фактически это будет то же самое, как если бы устанавливали базу данных в консоли с помощью команды use test.

После завершения работы мы можем закрыть соединение, применив метод close. В принципе mongoDB автоматически может закрывать неработающие соединения. Но в некоторых условиях может потребоваться явно закрыть соединение, например, чтобы сразу же установить новое подключение.

$con = new MongoClient();
$con-> test;
$con-> close();

Установив бд, можно выбрать коллекцию:

// Подключаемся к mongodb
$con = new MongoClient();
// выбираем базу данных test и коллекцию persons
$con-> test -> persons;

Либо мы можем явным образом применить метод selectCollection

$con-> selectDB(test)-> selectCollection(persons);

В консоли mongo мы добавлять документ в коллекцию, даже если коллекции еще не существует. В этом случае она автоматически создавалась. В php то же самое. Сейчас мы подключаемся к коллекции persons. И даже если ее нет, она будет создана, если мы потом добавим в нее какие-нибудь данные.

Еще один метод, которым обладает класс MongoClient, это метод listDBs. Он позволяет получить все базы данных в MongoDB:

$con = new MongoClient();
print_r($con-> listDBs());

Данный метод возвращает данные в формате ассоциативного массива:

Array
(
    [databases] => Array
    (
            [0] => Array
                (
                    [name] => local
                    [sizeOnDisk] => 83886080
                    [empty] =>
                )
			[1] => Array
                (
                    [name] => test
                    [sizeOnDisk] => 218103808
                    [empty] =>
                )
    )
    [totalSize] => 301989888
    [ok] => 1
)

Подобным образом с помощью метода listCollections мы можем получить все коллекции в определенной базе данных:

$con = new MongoClient();
$list= $con-> test-> listCollections();
foreach ($list as $collection) {
    echo "<p>" . $collection . "</p>";
}

Если мы просто хотим получить имена всех коллекций, то мы можем использовать метод getCollectionNames():

$con = new MongoClient();
$list= $con-> test-> getCollectionNames();
foreach ($list as $collection) {
    echo "<p>" . $collection . "</p>";
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850