MongoDB — это одна из самых популярных документо-ориентированных баз данных с открытым исходным кодом, работающая по NoSQL-типу. Это значит, что хранение и извлечение данных в MongoDB будет осуществляться не в виде таблиц, а в виде коллекций документов.
Отличительной особенностью NoSQL-баз данных является отсутствие заранее заданной схемы (структуры) данных. Поэтому в MongoDB в рамках одной коллекции могут храниться документы с различной структурой. При этом остается возможность осуществлять эффективные выборки таких данных.
MongoDB от Бегета — это готовая к работе база данных MongoDB, которая не требует настройки, развернутая на вашем виртуальном сервере + Web UI для администрирования базы данных.
Состав приложения
- Ubuntu 22.04
- Docker, актуальная версия
- MongoDB 5.0.9
- MongoDB PHP GUI, latest
Установка и первичная настройка MongoDB
При создании сервера помимо стандартных параметров вам будет предложено указать:
- Домен, который будет использоваться для доступа к веб-интерфейсу MongoDB PHP GUI.
Если у вас пока нет домена в нашей системе, то мы предоставим вам бесплатный технический домен .beget.app. Для домена будет выпущен и установлен бесплатный SSL-сертификат; - Имя администратора базы данных, которое будет использоваться для аутентификации;
- Пароль администратора базы данных;
- E-mail администратора для выпуска SSL-сертификата.
После создания сервера начнется установка и развертывание MongoDB. Этот процесс занимает около 3-х минут. После завершения развертывания MongoDB пользователи могут начать работу.
Работа с веб-интерфейсом MongoDB PHP GUI
Для входа в веб-интерфейс MongoDB перейдите в браузере по адресу https://mydomain.beget.app
, где mydomain.beget.app
— выбранный при создании сервера домен.
Для аутентификации в веб-интерфейсе после открытия страницы с формой, нажмите на ссылку "I don't have an URI
". В качестве реквизитов для входа в MongoDB используйте:
- User: логин администратора, заданный вами при создании сервера (по-умолчанию,
admin
); - Password: пароль администратора, заданный вами при создании сервера;
- Host: используемое вами доменное имя;
Поля Port и Database можно оставить пустыми.
После успешной аутентификации в MongoDB можно начать использовать ваш веб-интерфейс для создания баз данных, коллекций, импорта и экспорта данных. В случае необходимости, обратитесь к странице проекта на GitHub для получения подробной информации о возможностях интерфейса. Приятной работы!
Работа с MongoDB из вашего приложения
Для работы с MongoDB, развернутой на вашем виртуальном сервере, вы можете использовать любые привычные вам инструменты и библиотеки.
from pymongo import MongoClient
def get_client():
username = "admin" # Логин админстратора
password = "*5Lj1Xl&" # Пароль администратора
host = "pohodudoor.beget.app" # Адрес сервера / доменное имя
database = "mydb" # Имя БД
return MongoClient(f"mongodb://{username}:{password}@{host}/{database}")
if __name__ == "__main__":
client = get_client()
print(repr(client))
Результат выполнения:
$ python3 mongodb_test.py
MongoClient(host=['pohodudoor.beget.app:27017'], document_class=dict, tz_aware=False, connect=True)
Удачной работы.
Частые вопросы по MongoDB
Файлы с данными MongoDB располагаются в директории /opt/beget/mongodb/data
На вашем сервере MongoDB развернут с помощью docker-compose. Для перезапуска сервера и веб-интерфейса управления выполните следующие действия:
- Подключиться к вашему серверу по SSH:
ssh root@my_ip
, гдеmy_ip
- IP-адрес вашего сервера; - Перейти в директорию с конфигурацией контейнеров:
cd /opt/beget/mongodb
; - Выполнить перезапуск контейнеров через docker-compose:
docker-compose restart
;