Установка и начало работы с MongoDB на Windows

Последнее обновление: 07.09.2023

Установка сервера Mongod

Официальный сайт предоставляет пакеты дистрибутивов для различных платформ: Windows, Linux, MacOS, Solaris. И каждой платформы доступно несколько дистрибутивов. Причем есть два вида серверов - бесплатный Community и платный Enterprise. В данном руководстве будем использовать бесплатную версию Community.

Для установки MongoDB загрузим один распространяемых пакетов с официального сайта https://www.mongodb.com/try/download/community.

Для загрузки всех необходимых файлов выберем нужную операционную систему и подходящий тип пакета. Рассмотрим на примере установки на ОС Windows.

MongoDB можно загрузить в ряде вариантов. Так, для Windows доступна загрузка установщика msi и также доступна загрузка архива zip. В реальности нам достаточно загрузить zip-архив и распаковать в нужной нам папке. Поэтому выберем этот вариант загрузки (хотя также можно выбрать вариант установщика msi):

Установка MongoDB

Если до установки уже была установлена более ранняя версия MongoDB, то ее необходимо удалить.

После загрузки архивного пакета распакуем его в папку C:\mongodb.

Если после установки мы откроем папку bin в распакованном архиве (C:\mongodb\bin), то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.

Каталог MongoDB
  • mongod: сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные операции в фоновом режиме по управлению базами данных

  • mongos: служба маршрутизации MongoDB, которая помогает обрабатывать запросы и определять местоположение данных в кластере MongoDB

Создание каталога для БД и запуск MongoDB

После установки надо создать на жестком диске каталог, в котором будут находиться базы данных MongoDB.

В ОС Windows по умолчанию MongoDB хранит базы данных по пути C:\data\db, поэтому, если вы используете Windows, вам надо создать соответствующий каталог.

Если же возникла необходимость использовать какой-то другой путь к файлам, то его можно передать при запуске MongoDB во флаге --dbpath.

Итак, после создания каталога для хранения БД можно запустить сервер MongoDB. Сервер представляет приложение mongod, которое находится в каталоге bin в папке сервера. Для этого запустим терминал/командную строку и там введем соответствующие команды. Для ОС Windows это будет выглядеть так:

Запуск сервера MongoDB mongod

Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.

И после удачного запуска сервера мы сможем производить операции с бд через клиент.

Установка клиента Mongosh

Выше мы установили сервер MongoDb. Однако для работы с сервером нам нужен клиент. Наиболее простым клиентом в данном случае является MongoDB Shell или mongosh - консольная оболочка для отправки запросов к серверу, которая также предоставляется непосредственно компанией MongoDB.

Для установки клиента перейдем по адресу https://www.mongodb.com/try/download/shell

Установка клиента MongoDB Shell

Здесь опять же мы можем выбрать версии клиента для разных операционных систем. Для Windows пакет клиента доступен в виде архива zip. Загрузим этот пакет и распакуем его в папку C:\mongosh.

Если в распакованном архиве мы зайдем в папку bin (то есть C:\mongosh\bin), то обнаружим там консольную утилиту mongosh, которая будет применяться для работы с сервером MongoDB:

Каталог клиента MongoDB Shell

Подключение к серверу из клиента

Используем выше установленное клиентское приложение mongosh для взаимодействия с сервером mongodb. (При работе с mongosh не стоит забывать, что у нас должен быть запущен сервер mongod). Итак, запустим файл mongosh, который располагается в выше рассмотренной папке установки:

Запуск оболочки MongoDB Shell mongosh

При запуске программы mongosh вначале она спросит пользователя, какую строку подключения использовать для подключения к серверу MongoDB. В этом моменте просто нажмем на Enter, чтобы использовать строку подключения к MongoDB по умолчанию. А по умолчанию сервер mongodb запускается на порту 27017, а полная строка подключения выглядит следующим образом: mongodb://localhost:27017 или mongodb://127.0.0.1:27017

После подключения консоль отобразит ряд служебной информации и подключится к базе данных test.

Теперь поизведем какие-либо простейшие действия. Введем в консоль последовательно следующие команды и после каждой команды нажмем на Enter:

db.users.insertOne( { name: "Tom" } )
db.users.find()

С помощью функции db.users.insertOne() в коллекцию users базы данных test добавляется объект { name: "Tom" }. Идентификатор db представляет текущую базу данных. В нашем случае мы подключены к базе данных по умолчанию - то есть к базе данных test, соответственно db здесь представляет базу данных test. При этом не важно, есть или нет такая бд - если ее нет, то она создается

После db идет users - это коллекция, в которую затем мы добавляем новый объект. Если в SQL нам надо создавать таблицы заранее, то коллекции MongoDB создает самостоятельно при их отсутствии.

Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта определен один ключ "name", которому сопоставляется значение "Tom". То есть мы добавляем пользователя с именем Tom.

Если объект был успешно добавлен, то консоль выведет результат операции, в частности, идентификатор добавленного объекта.

А вторая команда db.users.find() выводит на экран все объекты из бд test.

Добавление в бд MongoDB

Из вывода вы можете увидеть, что к начальным значениям объекта было добавлено какое-то непонятно поле ObjectId. Как вы помните, MongoDB в качестве уникальных идентификаторов документа использует поле _id. И в данном случае ObjectId как раз и представляет значение для идентификатора _id.

Установка драйверов MongoDB

В дальнейшем в рамках данного руководства мы будет рассматривать взаимодействие с сервером MongoDB преимущественно через выше использованную оболочку mongo. Однако, мы также можем взаимодействовать с mongodb в наших приложениях, написанных на PHP, C++, C# и других языках программирования. И для этой цели необходим специальный драйвер.

На офсайте на странице https://docs.mongodb.com/ecosystem/drivers/ можно найти список драйверов для всех поддерживаемых языков программирования, в частности, для PHP, C, C++, C#, Java, Go, Python, Rust, Ruby, Scala, Swift, а также для Node.js.

Работа с драйверами на конкретных языках программирования будет рассмотрена в соответствующих разделах, посвященных этим языкам..

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850