ПОЛНОЕ РУКОВОДСТВО - СОЗДАЙТЕ СОБСТВЕННОЕ ПОЛНОСТЕКНОЕ ПРИЛОЖЕНИЕ

Узнайте, как настроить MongoDB

MongoDB - это облегченная база данных NoSQL, ориентированная на документы. Узнайте, как настроить экземпляр MongoDB за секунды.

В этой статье вы узнаете, как установить MongoDB на Mac, Windows, Ubuntu18.04 или запустить его прямо из контейнера Docker и впоследствии убедиться, что установка прошла успешно. Статья представляет собой пошаговое руководство со множеством снимков экрана и пояснениями.

Мотивация (пропустите, если хотите просто установить Mongo)

Эта статья является третьей из серии статей по разработке, созданию и развертыванию полнофункционального приложения. Все отдельные статьи задуманы как статьи с кодом и должны быть как можно более самодостаточными. Это означает, что эта статья не зависит от того, что мы делали ранее.

Само приложение станет шаблоном для ключевой реферальной программы. Идея реферальной программы вехи заключается в том, что каждый направленный кем-то реферал приближает реферала к достижению определенной вехи и требует приза. В части I и части II мы создали интерфейс для нашего приложения. Теперь, когда мы собираемся приступить к созданию бэкэнда, нам нужна база данных, с которой наш бэкэнд будет разговаривать.

Структура статьи

(Необязательно) Установка Robo3T
② Установка Mongo на Mac
③ Установка Mongo на Ubuntu 18.4
④ Установка Mongo в Windows
Запуск Mongo из Docker с подключенными данными

① (Необязательно) Установка Robo3T

Прежде чем мы начнем установку Mongo, давайте быстро установим Robo3T (преемник RoboMongo) отсюда. Robo3T - это легкий графический интерфейс, в который встроена оболочка Mongo. Вам не нужно устанавливать Robo3T, но я считаю, что намного проще проверить успешность установки с помощью Robo3T (особенно при удаленной установке) и позже проверить коллекцию или базу данных без необходимости постоянно проходить через оболочку Mongo. .

② Установка Mongo на Mac

А) Установка

Одна из причин популярности Mongo - это, конечно, простота установки. На Mac откройте терминал и установите его с помощью homebrew или короткого brew. Чтобы проверить, установлен ли brew, введите brew help, если вы получите command not found ошибку, это означает, что вам сначала нужно установить homebrew. Следуйте инструкциям здесь!

Чтобы установить Mongo, сначала «коснитесь» mongodb/brew, набрав:

brew tap mongodb/brew

brew tap добавляет дополнительные сторонние репозитории в список репозиториев, готовит треки и ищет пакеты при установке части программного обеспечения. Теперь установите mongodb через:

brew install mongodb-community

Готово!

Б) Запуск Монго

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

# 1. (runs in background)
brew services start mongodb-community
brew services stop mongodb-community
# 2. (runs in active terminal)
mongod --config /usr/local/etc/mongod.conf
# 3. (runs in active terminal)
mongod --dbpath=/Users/<USER>/data/db
# make sure the specified folder exists

Первоначально Mongo будет хранить свои данные в /data/db. Однако после обновления до Catalina корневая папка больше не доступна для записи. Оба варианта один и два используют файл /usr/local/etc/mongod.conf в качестве своей конфигурации. Оба получают путь к хранилищу из config. Данные хранятся в /usr/local/var/mongodb.

#mongod.conf
systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Если вы хотите, чтобы данные хранились где-то еще, создайте новую папку и укажите ее через --dbpath.

C) Проверка (Shell)

Теперь вы можете запустить оболочку mongo любым из трех ранее упомянутых способов запуска MongoDB:

mongo

Теперь мы можем следовать этим командам из документации mongo, чтобы убедиться, что оболочка работает. Не беспокойтесь, мы можем все убрать после

use test # this switches to a database called test
db.inventory.insertMany([
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]) # insert a bunch of documents
db.inventory.find({}) # will show the documents

В) Проверка (Robo3T)

Как было сказано вначале, я считаю, что Robo3T очень удобен в использовании! Если вы не хотите проходить через оболочку, вы можете просто использовать Robo3T для 1) подключения к вашей локальной MongoDB, а затем 2) проверки или взаимодействия с базой данных.

③ Установка Mongo в Ubuntu 18.4

А) Предпосылки:

  • Работающий компьютер с Ubuntu, в который вы можете войти через ssh. Вы можете настроить машину, например, в Google (GCP) или Amazon (AWS).

Б) Установка

SSH в машину:

ssh -i .ssh/id_rsa <NAME>@<PUBLIC IP>
# Note that id_rsa is the default, you could also use a different key

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

Импортируйте открытый ключ GPG MongoDB и добавьте его в apt-key:

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

Эта операция должна привести к появлению сообщения OK. Эта операция добавляет ключ GPG к ключу apt для последующей аутентификации загруженного пакета mongodb.

Создайте файл списка для MongoDB:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Команда добавляет файл в папку source.list.d, что является косвенным способом (т. Е. Все файлы в этой папке будут прочитаны и обработаны) для добавления в source.list, который представляет собой список всех источников, из которых извлекается apt-get.

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

sudo apt-get update

apt-get update используется для повторной синхронизации файлов индекса пакетов из их источников. Индексы доступных пакетов берутся из местоположений, указанных в /etc/apt/source.list, куда мы ранее добавили местоположение mongo.

Установите пакеты MongoDB:

sudo apt-get install -y mongodb-org

apt-get install установит пакет в зависимости от его местоположения, как указано в /etc/apt/source.list, параметр -y автоматически запрашивает «да» на все вопросы и запускает установку в режиме non-interactive.

…. и готово!

В) Проверка и запуск Mongo

На машине выполните следующую команду:

sudo systemctl start mongod

systemctl позволяет управлять systemd системой и менеджером служб.

Теперь, чтобы убедиться, что MongoDB работает, вы можете либо запустить оболочку mongo на машине, набрав mongo, либо подключиться удаленно, например, через Robo3T.

④ Установка Mongo в Windows

Чтобы убедиться, что шаги верны, я очищаю свой ноутбук с Windows 10-летней давности и собираюсь установить на него MongoDB.

А) Скачать

Сначала загрузите установщик MongoDB с здесь.

Б) Установка

Во-вторых, запустите установщик и, наконец, следуйте указаниям мастера установки MongoDB, как показано на снимках экрана. Вы можете использовать все значения по умолчанию. Советую не устанавливать Компас.

C) Запуск / остановка службы

Если вы выбрали Install MongoD as a Service на шаге 6, то Mongo Database Demon запустится сразу после установки (т. Е. Ваша база данных не запущена и вам не нужно ничего делать).

Если вы хотите остановить работу MongoDB, вам нужно найти Services найти MongoDB и остановить службу (как показано на скриншоте выше).

Б) Проверка

Давайте использовать Robo3T для проверки!

⑤ Выход из контейнера Docker с подключенными данными

А) Предпосылки

  • Установлен Docker

Вытяните изображение:

docker pull mongo

Запустите изображение:

sudo docker run -d -p 27017:27017 -v ~/data/db:/data/db mongo

Эта команда запустит контейнер докеров и:

  • -d: Контейнер запускается как демон в фоновом режиме, вы должны явно остановить его
  • -p 27017:27017: сопоставляет порт 27017 (контейнера) с 27017 (хоста).
  • -v ~/data/db:/data/db: сопоставляет локальное (т. е. на хосте) ~/data/db /data/db контейнеру. В Mac ~/ эквивалентно /Users/<USERNAME>. Преимущество явного монтирования данных заключается в том, что данные будут сохраняться, даже если контейнер уйдет (например, если вы перезапустите его, например)

Примечание. Вы также можете смонтировать папку предыдущей локальной установки и сразу же получить доступ к данным.

Б) Проверка

И снова. Давайте использовать Robo3T для проверки!

В) Остановка контейнера

После запуска контейнера терминал напечатает длинную строку, которая является идентификатором контейнера. Чтобы остановить запуск контейнера:

docker stop <ID>

Если вы забыли идентификатор, запустите:

docker stop 5751f91e1e7c

Резюме

Из этой статьи вы узнали:

  • Как установить MongoDB на Mac,
  • Как установить MongoDB в Windows,
  • Как установить MongoDB в Ubuntu18.04,
  • или запустите его прямо из контейнера Docker

Вы также узнали, как впоследствии проверить успешность установки через Robo3T.

Хорошая работа, спасибо за чтение. Увидимся на следующей неделе, когда мы начнем подключать серверную часть.