Купить Корзина
Логотип REG.RU
  • Вход
    • Помощь
  • Помощь
  • Серверы VPS
  • Облачные серверы
  • Установка программного обеспечения
  • Руководство по MongoDB

Руководство по MongoDB

Для многих привычными являются базы данных реляционного типа — MySQL, MS SQL, Oracle и другие. В таких базах данные хранятся в таблицах, а для работы с ними нужно писать запросы. Но есть база данных с другой архитектурой — база MongoDB. В этой статье мы расскажем, что это такое и как проходит работа с MongoDB, опишем её преимущества, а также приведём краткое руководство по установке MongoDB на Ubuntu.

База данных MongoDB

Установите базу данных для приложений нового поколения MongoDB. При аренде нового Облачного сервера с Ubuntu 18.04 доступна автоматическая установка.

Заказать VPS

Что такое MongoDB

MongoDB — это документоориентированная база данных типа NoSQL. В отличие от реляционных БД, NoSQL для хранения данных используют не таблицы со строками и столбцами, а коллекции и JSON-подобные документы. Документы состоят из так называемых пар «ключ-значение». Пара «ключ-значение» представляет собой имя поля (ключ документа) и его значение. Коллекции же состоят из групп документов.

В MongoDB можно работать с разными языками программирования: PHP, Perl, C/C++. Кроме того, возможно подключение MongoDB к Node JS. Для MongoDB документация на русском языке отсутствует, но на официальном сайте есть методичка по базам данных в MongoDB.

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

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

Ключевые компоненты архитектуры MongoDB

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

Пример документа MongoDB:

Установка MongoDB на Ubuntu

Подробная инструкция по установке на Ubuntu (install Ubuntu) есть на официальном сайте MongoDB. Мы опишем, как установить MongoDB и создать пользователя базы данных.

Внимание
На данный момент установка MongoDB недоступна пользователям из России и Белоруссии.

Обратите внимание! Перед установкой убедитесь, что у вас заказан VPS Cloud Server.

MongoDB — руководство на русском:

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

    Добавьте GPG-ключ репозитория MongoDB:

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

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

    Для 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. 4.

    Обновите список пакетов перед установкой MongoDB:

    sudo apt-get update
  5. 5.

    Установите MongoDB:

    sudo apt-get install -y mongodb-org
  6. 6.

    Запустите MongoDB:

    sudo systemctl start mongod.service
  7. 7.

    Включите автозапуск службы при перезагрузке системы:

    sudo systemctl enable mongod.service
  8. 8.

    Проверьте статус службы:

    sudo systemctl status mongod
  9. 9.

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

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

    Где ip_адрес — IP-адрес вашего сервера. IP-адрес сервера высылается на контактный email при подключении. Также вы можете увидеть его в панели управления услугой «Облачные серверы».

  10. 10.

    Проверьте статус:

    sudo ufw status
  11. 11.

    Разрешите удалённые соединения MongoDB. Для этого откройте файл конфигурации /etc/mongod.conf:

    sudo nano /etc/mongod.conf

    И введите следующие строки:

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

    Где ip_адрес — IP-адрес вашего сервера.

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

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

    sudo systemctl restart mongod

Готово, вы установили MongoDB.

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

  1. 1.

    Откройте командную строку MongoDB:

    mongo
  2. 2.

    Войдите как администратор базы admin:

    use admin
  3. 3.

    Чтобы создать пользователя, введите:

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

    Где:

    username — имя пользователя,

    password — пароль.

  4. 4.

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

    exit

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

Чтобы создать новую базу данных, введите команду:

use database

Вместо database введите название базы данных.

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

Как узнать, с какой базой данных идёт работа:

db

Чтобы увидеть список баз данных:

show dbs

Недостатки СУБД MongoDB

В сравнении с реляционными базами данных, MongoDB имеет не только преимущества, но и недостатки. Вот основные из них:

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

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

Помогла ли вам статья?
ДаНет
раз уже
помогла

Спасибо за оценку!
Как мы можем улучшить статью?

Нужна помощь?
Напишите в службу поддержки!

REG.RU
  • О компании
  • Контакты и офисы
  • Новости
  • Карьера в REG.RU
  • Руководство
  • Отзывы клиентов
Услуги
  • Стоимость услуг
  • Хостинг
  • Зарегистрировать домен
  • Конструктор и CMS
  • Создать сайт в REG.Site
  • VPS
  • Серверы и ДЦ
  • SSL-сертификат
Партнёрам
  • Партнёрские программы
  • Профессионалам IT
  • Бонусная программа
  • REG.API
  • Промоматериалы
Полезное
  • Акции и скидки
  • Мероприятия
  • Юридическим лицам
  • ЭДО
  • Whois
Помощь
  • База знаний
  • Вопросы и ответы
  • Шаблоны заявлений
  • Оставить отзыв, предложение
  • Сообщить о нарушении

+7 (495) 580-11-11

Телефон в Москве

8 800 555-34-78

Бесплатный звонок по России

           

Нашли опечатку?
Выделите и нажмите Ctrl+Enter

  • mastercard
  • visa
  • mir
  • sberbank
  • qiwi
  • yamoney
  • sbp
Все способы оплаты
© ООО «Регистратор доменных имен РЕГ.РУ» Правила пользования сайтомПолитика обработки персональных данных
Award
shop.reg.ru Магазин доменов
statonline.ru Доменная статистика
reg.ru/blog Мы пишем
  • Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных и Правилами пользования сайтом.