MongoDB: запуск и настройка в OpenServer модуля Mongo драйвера под php

preview_player
Показать описание
Установка mongodb

Для включения Монго достаточно в настройках выбрать последнюю версию модуля и сохранить. Начиная с версии опенсервер 5.2.9 в него включен модуль базы данных Монго 4.0 x64. После перезапуска Монго станет доступна для работы.

Для взаимодействия с базой данных Монго, вставки и извлечения данных, в PHP есть 2 драйвера-расширения

-------------------------------------
* Установка драйвера для работы на PHP с Монго
Что же касается работы с драйвером MongoDB под PHP 7, его нужно дополнительно установить через composer. Если композер у вас не установлен (проверить можно через командную строку) - его нужно установить.
Перейти в свою рабочую папку и введя в командной строке
composer require mongodb/mongodb
В результате в вашей рабочей директории будет создана папка vendor

-------------------------------------
Подключим в него файл-автозагрузчик , и создадим экземлпяр Монго драйвера

$client = new MongoDB\Client("mongodb://localhost:27017");

Структура базы Монги отличается от SQL баз и выглядит примерно так

С драйвером PHP нам не нужно мучаться и создавать базы данных или таблицы - здесь все делается само по себе, простым обращением к свойствам объекта-драйвера. В результате мы получаем ссылку на коллекцию.
$collection = $client-*anydb-*anytable;

Вставить данные тут тоже очень легко, используя метод insertOne коллекции, мы вставляем документ в коллекцию.
$result = $collection-*insertOne( [ 'name' =* 'Hinterland', 'brewery' =* 'BrewDog' ] );

echo "Идентификатор вставленного документа '{$result-*getInsertedId()}'";

Получить массив документов коллекции можно так
$result = $collection-*find()-*toArray();

Получить список созданных баз данных можно следующим методом
$dbs = $client-*listDatabases();

-------------------------------------
Когда мы насоздавали кучу баз и таблиц, удобнее всего посмотреть и управлять ими, каким-то стандартным механизмом. До версии 5.3 в опенсервер был инструмент RockMongo, но даже в версии 5.2.9 он уже не работает, по всей видимости потому что работал со старой версией драйвера.
Рекомендации по теме
Комментарии
Автор

как он успокаивающе говорит, я не могу

nedfid
Автор

Спасибо. в июле 2022 с последними версиями всех продуктов актуально.
Админить базы монгоДБ можно встроеной в ОпенСервер - Adminer.

Шурикпубличный
Автор

Была ошибка при выполнение команды в Composer в итоге заменил ее на: composer require mongodb/mongodb --ignore-platform-reqs
. Также проверьте, что у вас включено в php.ini extension = mongodb в конфигураторе OpenServer ( по умолчанию он отключен)

ПавелСигети
Автор

При установке composer require mongodb/mongodb выдаёт следующее
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.2) installed.
- mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.2) installed.
- mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.2) installed.
- Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2].

To enable extensions, verify that they are enabled in your .ini files:
- C:\php7\php.ini
You can also run `php --ini` inside terminal to see which files are used by PH
P in CLI mode. Installation failed, deleting ./composer.json.

Что собственно делать?

alexandrnemcov