Установка MongoDB

Базы данных реляционного типа (MySQL, MS SQL, Oracle) знакомы многим. Данные в них хранятся в таблицах, а работа строится на создании запросов. Однако существуют БД с альтернативными архитектурами. Одна из таких — MongoDB. В статье мы подробно расскажем о ней, покажем, как установить MongoDB (руководство на русском), а также как создать базу данных и нового пользователя. 

Что такое MongoDB

MongoDB — это система управления базами данных, которая ориентирована на работу с документами. В ней не требуется использовать таблицы со строками и столбцами, а также описывать схемы таблиц. Работа с MongoDB сводится к работе с документами формата JSON. Документы JSON формируются по принципу “ключ-значение”: в качестве ключа выступает имя поля, а в качестве значения —  значение ключа. Каждый документ в системе находится в определенной группе, а группы — в коллекции.  

MongoDB ориентирована на работу с популярными языками программирования — Perl, PHP, C/C++. Помимо этого, можно настроить подключение MongoDB к Node JS. 

Преимущества 

  • MongoDB поддерживают все популярные операционные системы — Linux (Debian, Ubuntu, CentOS), Windows и MacOS;
  • Данные хранятся не в таблицах, а в документах формата JSON. Этот формат позволяет создавать документы с разным содержанием и размером, а также со сложной структурой;
  • База может работать на нескольких серверах (репликация);
  • Хорошая масштабируемость и возможность делать динамические запросы.

Слабые стороны 

Если сравнивать MongoDB с реляционными базами, то можно выделить следующие недостатки:

  • сложность работы с транзакциями; 
  • меньшее соответствие требованиям к транзакционным системам (ACID - атомарность, согласованность, изолированность, прочность), чем в реляционных БД. 

Основные компоненты архитектуры MongoDB

  • _id — уникальный идентификатор документа. Создастся автоматически, даже если не прописывать его.
  • Документ — запись, которая размещается в коллекции и состоит из пары “ключ-значение” (в реляционных СУБД в этом качестве выступают строки). 
  • Коллекция — это совокупность документов MongoDB (аналог таблицы в реляционных СУБД).
  • База данных — это контейнер с коллекциями. У каждой базы данных есть свой собственный набор файлов в файловой системе. Сервер MongoDB может хранить несколько баз данных.

Например, документ в MongoDB может выглядеть так:

MongoDB: создание базы данных

Ниже мы приведём краткое руководство по установке MongoDB на Ubuntu. Полная инструкция по установке, а также методичка по базам данных в MongoDB на английском есть на официальном сайте. 

Обратите внимание: если у вас ещё нет VPS-сервера, закажите его и переходите к установке.

Как установить MongoDB на Ubuntu

1. Подключитесь к VPS-серверу по SSH.

2. Добавьте GPG-ключ командой:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

3. Добавьте репозиторий:

  • для Ubuntu 18.04:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  • для Ubuntu 20.04:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

4. Перед установкой обновите список пакетов командой:

sudo apt-get update

5. Затем установите MongoDB:

sudo apt-get install -y mongodb-org

6. Запустите базу данных командой:

sudo systemctl start mongod.service

7. Подключите автозапуск при перезагрузке:

sudo systemctl enable mongod.service

8. Посмотрите статус службы командой:

sudo systemctl status mongodb

9. Подключите удалённый доступ к MongoDB:

sudo ufw allow from ip_адрес/32 to any port 27017

Вместо ip_адрес укажите IP-адрес вашего сервера. Он приходит в письме на контактный email при подключении. Также он указан в панели управления услугой VPS.

10. Посмотрите статус:

 sudo ufw status

11. Настройте удалённые соединения. Для этого откройте файл конфигурации:

  • для Ubuntu 18.04 командой:
sudo nano /etc/mongodb.conf
  • для Ubuntu 20.04 командой:
sudo nano /etc/mongod.conf

Затем введите следующие строки:

bind_ip = 127.0.0.1, ip_адрес
#port = 27017

Вместо ip_адрес укажите IP-адрес вашего сервера. 

12. Сохраните файл и закройте его сочетанием клавиш Ctrl+X, а затем Y.

13. Перезапустите MongoDB:

sudo systemctl restart mongodb

Готово, MongoDB install Ubuntu.

Как в MongoDB создать пользователя

Следуйте инструкции ниже, чтобы создать пользователя:

1. Запустите командную строку для работы в MongoDB:

mongo

2. Войдите под администратором «admin»:

use admin

3. Введите команду:

db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Вместо username укажите имя пользователя, а вместо password — пароль.

4. Закройте командную строку командой:

>exit

Готово. 

Как в MongoDB создать базу данных

Для создания СУБД MongoDB:

1. Введите команду:

use database

Вместо database введите название нужной базы данных. Если такая БД уже существует, вы переключитесь на работу с ней.

2. Чтобы узнать, с какой базой данных идёт работа, введите: 

db

3. Чтобы посмотреть список всех баз данных:

show dbs

Готово, теперь вы знаете, как подключить и как запустить MongoDB.
 

Если вы не нашли ответ, спросите у нас!
Написать в поддержку