- Mongodb создать базу данных windows
- Содержимое пакета MongoDB
- Создание каталога для БД и запуск MongoDB
- Установка драйверов MongoDB
- Установка MongoDB на сервер с Windows
- Что это такое
- Системные требования
- Установка MongoDB
- Виртуальный сервер на базе Windows
- Запуск MondoDB
- Настройка службы Windows для MongoDB
- Введение в MongoDB. Руководство для начинающих
- Вступление
- Установка MongoDB
- Установка на MacOS
- Установка на Windows
- Установка на Linux
- Создание первой коллекции
- Вставка документа в коллекцию
- Фильтрация записей с использованием регулярных выражений (Regex)
- Сложные запросы в MongoDB
- Графический интерфейс (GUI) в MongoDB
Mongodb создать базу данных windows
Для установки MongoDB загрузим один распространяемых пакетов с официального сайта https://www.mongodb.com/download-center/community.
Официальный сайт предоставляет пакеты дистрибутивов для различных платформ: Windows, Linux, MacOS, Solaris. И каждой платформы доступно несколько дистрибутивов. Причем есть два вида серверов — Community и Enterprise. В данном случае надо установить версию Community. Хотя Enterprise-версия обладает несколько большими возможностями, но она доступна только в триальном режиме или по подписке.
На момент написания данного материала последней версией платформы была версия 4.4 . Использование конкретной версии может несколько отличаться от применения иных версий платформы MongoDB.
Для загрузки нобходиомго функционала выберем нужную операционную систему и подходящий тип пакета:
Для ОС Windows можно выбрать тип пакета «ZIP», то есть загрузить сервер в виде архива.
Если до установки уже была установлена более рання версия MongoDB, то ее необходимо удалить и также необходимо удалить все равне созданные базы данных.
После загрузки архивного пакета распакуем его в папку C:\mongodb .
Содержимое пакета MongoDB
Если после установки мы откроем папку bin в распакованном архиве ( C:\mongodb\bin ), то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.
mongo : представляет консольный интерфейс для взаимодействия с базами данных, своего рода консольный клиент
mongod : сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные операции в фоновом режиме по управлению базами данных
mongos : служба маршрутизации MongoDB, которая помогает обрабатывать запросы и определять местоположение данных в кластере MongoDB
Создание каталога для БД и запуск MongoDB
После установки надо создать на жестком диске каталог, в котором будут находиться базы данных MongoDB.
В ОС Windows по умолчанию MongoDB хранит базы данных по пути C:\data\db , поэтому, если вы используете Windows, вам надо создать соответствующий каталог. В ОС Linux и MacOS каталогом по умолчанию будет /data/db .
Если же возникла необходимость использовать какой-то другой путь к файлам, то его можно передать при запуске MongoDB во флаге —dbpath .
Итак, после создания каталога для хранения БД можно запустить сервер MongoDB. Сервер представляет приложение mongod , которое находится в папке bin. Для этого запустим командную строку (в Windows) или консоль в Linux и там введем соответствующие команды. Для ОС Windows это будет выглядеть так:
Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.
И после удачного запуска сервера мы сможем производить операции с бд через оболочку mongo . Эта оболочка представляет файл mongo.exe , который располагается в выше рассмотренной папке установки. Запустим этот файл:
Это консольная оболочка для взаимодействия с сервером, через которую можно управлять данными. Второй строкой эта оболочка говорит о подключении к серверу mongod.
Теперь поизведем какие-либо простейшие действия. Введем в mongo последовательно следующие команды и после каждой команды нажмем на Enter:
Первая команда use test устанавливает в качестве используемой базу данных test. Даже если такой бд нет, то она создается автоматически. И далее db будет представлять текущую базу данных — то есть базу данных test. После db идет users — это коллекция, в которую затем мы добавляем новый объект. Если в SQL нам надо создавать таблицы заранее, то коллекции MongoDB создает самостоятельно при их отсутствии.
С помощью метода db.users.save() в коллекцию users базы данных test добавляется объект < name: "Tom" >. Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта определен один ключ «name», которому сопоставляется значение «Tom». То есть мы добавляем пользователя с именем Tom.
Если объект был успешно добавлен, то консоль выведет результа в виде выражения WriteResult(< "nInserted" : 1 >) .
А третья команда db.users.find() выводит на экран все объекты из бд test.
Из вывода вы можете увидеть, что к начальным значениям объекта было добавлено какое-то непонятно поле ObjectId . Как вы помните, MongoDB в качестве уникальных идентификаторов документа использует поле _id . И в данном случае ObjectId как раз и представляет значение для идентификатора _id.
Установка драйверов MongoDB
Конечно, мы можем работать и через консоль mongo, добавляя и отображая объекты в бд. Но нам также было бы неплохо, если бы mongoDB взаимодействовала бы с нашими приложениями, написанными на PHP, C++, C# и других языках программирования. И для этой цели нам потребуются специальные драйверы.
На офсайте на странице https://docs.mongodb.com/ecosystem/drivers/ можно найти драйвера для таких языков программирования, как PHP, C++, C#, Java, Python, Perl, Ruby, Scala и др.
Далее уже, рассматривая взаимодействие отдельных языков программирования с MongoDB, мы подробнее рассмотрим установку и драйвера и всю необходимую конфигурацию для определенных языков программирования.
Установка MongoDB на сервер с Windows
В данном руководстве будут рассмотрены шаги по установке базы данных MongoDB на серверы под управлением операционной системы Windows (в нашем случае Windows Server 2008 R2 x64).
Что это такое
MongoDB — это кроссплатформенная документно-ориентированная база данных. Она относится к базам типа NoSQL. Вместо традиционной табличной реляционной структуры базы в ней используются JSON-подобные документы.
Системные требования
Начиная с версии 2.2 MongoDB не поддерживает ОС Windows XP. Чтобы база данных работала, необходимо использовать более «свежую» версию операционной системы — например, Windows Vista, Server 2008 и т.п. Файл-установщик базы данных (.msi) содержит все необходимые зависимости, поэтому его можно использовать не только для первоначальной установки MongoDB, но и для обновления ее версии.
Установка MongoDB
Прежде всего, необходимо определиться с нужной версией базы данных. 64-битные версии MongoDB работают только на Windows Server 2008 R2, Windows 7 64-bit и более новых версиях ОС. Этот билд использует недавние улучшения в Windows Platform и не может работать на устаревших версиях ОС.
В свою очередь, MongoDB для 32-битных систем работает только на 32-битных ОС, начиная с Windows Vista и более поздних. Данная версия базы данных предназначены для работы на старых системах и решения задач по тестированию и разработке продуктов. Размер такой базы данных ограничен 2 гигабайтами.
Чтобы выяснить, какая версия Windows запущена на конкретном сервере, можно воспользоваться следующими командами в командной строке или консоли Powershell:
wmic os get caption
wmic os get osarchitecture
Виртуальный сервер на базе Windows
- Лицензия включена в стоимость
- Тестирование 3-5 дней
- Безлимитный трафик
Актуальные релизы MongoDB можно скачать на специальной странице загрузок. Важно скачать версию базы данных, которая подходит для вашей операционной системы.
После этого в проводнике Windows нужно найти установочный .msi-файл MongoDB — обычно он располагается в папке «Загрузки». С помощью двойного клика на файле запускается интерактивная установка — специальный мастер проведет пользователя по шагам от ее начала до конца.
Мы установим базу данных в папку C:\mongodb, но можно выбрать и другую директорию — для этого в процессе установки на шаге выбора папки нужно выбрать меню Custom, а затем написать нужный путь — например, D:\test\mongodb.
Билд MongoDB содержит все необходимое для работы базы данных и не имеет дополнительных зависимостей.
Запуск MondoDB
Важный момент: при работе в публичных сетях, файл mongod.exe можно делать видимым только в безопасном режиме (“Secure Mode”), который активируется опцией auth.
Для работы MongoDB требуется директория данных, где будет храниться вся нужная информация. Путь такой по умолчанию — \data\db. Создать ее можно с помощью следующей команды, набранной в командной строке Windows:
Выбрать другую директорию можно, запустив файл mongod.exe с опцией –dbpath:
C:\mongodb\bin\mongod.exe —dbpath d:\test\mongodb\data
Если в названии директории есть пробелы, то весь путь нужно заключить в двойные кавычки, вот так:
C:\mongodb\bin\mongod.exe —dbpath «d:\test\mongo db data»
Кроме того, прописать путь директории для хранения данных можно и с помощью конфигурационного файла — для этого, в нем нужно изменить значение переменной dbpath.
Затем, чтобы начать работать с базой, нужно запустить исполняемый файл. Сделать это можно, к примеру, из командной строки:
О том, что запуск прошел успешно, будет говорить сообщение «waiting for connections» в консоли командной строки.
В зависимости от установленного в операционной системе уровня безопасности, ОС может показать всплывающее окно с предупреждением о том, что некоторые сетевые функции C:\mongodb\bin\mongod.exe заблокированы. Здесь нужно выбрать Private Networks, such as my home or work network и кликнуть Allow access.
Чтобы подключиться к базе через mongo.exe, нужно вбить в новом окне командной строки следующую команду:
В помощь пользователям базы данных, разработчики системы создали разнообразные руководства по началу работы с системой. Перед началом работы стоит ознакомиться с представленной там информацией.
Для того, чтобы остановить MongoDB, нужно нажать Ctrl + C в окне терминала, где запущен экземпляр mongod.
Настройка службы Windows для MongoDB
Нужно запустить командную строку с привилегиями администратора Для этого нужно нажать кнопку Win, вбить в окно поиска cmd.exe и нажать Ctrl + Shift +Enter. Последующие шаги нужно выполнить именно в запущенном таким образом окне.
Затем следует создать директории для базы данных и лог-файлов:
mkdir c:\data\db
mkdir c:\data\log
Следом создается конфигурационный файл, в котором должна быть установлена переменная systemLog.path, а также может содержаться дополнительная информация. К примеру, можно создать файл C:\mongodb\mongod.cfg, в котором представлены значения systemLog.path и storage.dbPath:
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
Установить службу можно, запустив исполняемый файл с опцией –install и опцией –config для указания ранее созданного конфигурационного файла (примечание: здесь и далее команды должны выполняться в командной строке, запущенной с правами администратора).
«C:\mongodb\bin\mongod.exe» —config «C:\mongodb\mongod.cfg» –install
Если нужно использовать директорию dbpath, отличную от установленной по умолчанию, то путь к ней нужно указать в конфигурационном файле (например, C:\mongodb\mongod.cfg), либо в командной строке с помощью опции –dbpath.
При необходимости, можно установить службы для нескольких экземпляров mongod.exe или mongos.exe. Каждую службу нужно устанавливать с уникальными параметрами —serviceName и –serviceDisplayName. Однако важно понимать, что использование нескольких экземпляров возможно только при наличии значительных системных ресурсов, и запускаемые приложения этого требуют.
Запустить службу MongoDB можно командой:
net start MongoDB
Остановить службу можно так:
net stop MongoDB
А удалить ее так:
Кроме того, можно создать службу MongoDB, которая будет автоматически запускаться при старте Windows. Примеры ниже предполагают, что MongoDB была установлена с помощью .msi-установщика, а ее директория по умолчанию — C:\mongodb\ — если путь отличается, то команды ниже нужно будет соответствующим образом изменить.
Как и ранее, необходимо запустить командную строку с правами администратора. Затем создаются директории для базы данных и лог-файлов:
mkdir c:\data\db
mkdir c:\data\log
Затем также создается конфигурационный файл, в котором представлены значения systemLog.path и storage.dbPath:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
Далее непосредственно создается служба MongoDB:
sc.exe create MongoDB binPath= «C:\mongodb\bin\mongod.exe —service —config=\»C:\mongodb\mongod.cfg\»» DisplayName= «MongoDB» start= «auto»
Важно вставлять пробел между знаком = и конфигурационными значениями (вот так ”binPath = “) и обратный слэш “\” перед закрывающими двойными кавычками.
В случае успешного создания службы, появится лог-сообщение следующего содержания:
[SC] CreateService SUCCESS
net start MongoDB
Остановить ее можно так:
net stop MongoDB
Чтобы удалить службу, сначала нужно ее остановить, а затем запустить такую команду:
Введение в MongoDB. Руководство для начинающих
MongoDB — система управления базами данных с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных.
Вступление
С переходом парадигмы в сторону динамического контента, спрос на базу данных No-SQL вырос. Это привело к появлению многочисленных No-SQL баз данных, таких как MongoDB.
MongoDB, классифицированная как база данных No-SQL, представляет собой базу данных на основе документов, в которой хранятся данные в виде документов JSON, автоматически сгенерированные для каждого документа.
База данных без SQL — это база данных, в которой структура таблиц не является фиксированной, в отличие от структурированных баз данных SQL. MongoDB хранит данные в виде строки JSON независимо от количества атрибутов или имени атрибутов в определенном столбце.
Это позволяет разработчикам быстро вносить изменения в объекты без необходимости каких-либо изменений на уровне базы данных.
Установка MongoDB
MongoDB, как и любая другая база данных, доступна в нескольких вариантах в зависимости от потребностей разработки.
- MongoDB Atlas — База данных как услуга
- Сервер совместной работы — бесплатный для сообщества разработчиков
- MongoDB Enterprise Edition — коммерческая версия с дополнительными функциями
Каждый из них полностью совместим с любой операционной системой. Для начала, загрузите соответствующий установочный файл в соответствии с вашей операционной системой.
Процесс установки немного отличается для каждой операционной системы, и, следовательно, мы будем проходить установку каждой операционной системы отдельно.
Установка на MacOS
Загрузите архив .tgz, содержащий необходимые двоичные файлы. Разархивировав его, вы сможете просмотреть набор двоичных файлов, расположенных в папке bin.
- Переместите папку bin в нужное место
- Откройте терминал и измените каталог на каталог bin.
- Выполните приведенную ниже команду, чтобы создать базу данных в нужном месте.
- В приведенной выше команде замените путь к каталогу желаемым путем, и сервер будет запущен, как только команда будет выполнена.
Установка на Windows
Центр загрузки MongoDB предоставляет исполняемый MSI — пакет для установки MongoDB в Windows. Установка в Windows довольно проста и может быть выполнена с помощью нескольких команд после загрузки установки.
- Выполните приведенные ниже команды для установки MongoDB на ПК с Windows
Приведенные выше команды приведут вас в соответствующий каталог и выполнят установку в указанном месте. После установки вам необходимо настроить путь к хранилищу базы данных по умолчанию для MongoDB. Команда ниже поможет вам настроить
Приведенная выше команда создает папку db/data в каталоге, на который в данный момент указывает командная строка. В случае, если вам нужно заново настроить базу данных, вы можете использовать mongod.exe с аргументом dbpath, как показано ниже:
Установка на Linux
Как и в случае установки на MacOS, MongoDB для Linux-версий также доступна в виде архивированной группы двоичных файлов. Процесс установки MongoDB довольно похож.
- Переместить двоичные файлы в нужное место
- Откройте терминал в папке
- Выполните приведенную ниже команду с желаемым расположением БД
Создание первой коллекции
MongoDB хранит данные в форме документов JSON. Группа такой документации все вместе известна как коллекция в MongoDB. Таким образом, коллекция аналогична таблице в реляционной базе данных, а документ аналогичен записи.
Для хранения документов нам сначала нужно создать коллекцию. Интересной особенностью базы данных NoSQL является то, что в отличие от базы данных SQL вам не нужно указывать имена столбцов или типы данных в ней.
Первым шагом к созданию коллекции является создание базы данных. Чтобы создать базу данных и подключиться к ней с помощью командной строки, выполните приведенную ниже команду из домашнего каталога установки MongoDB.
Эта команда используется для запуска подключения к базе данных и одновременного подключения к учебной базе данных. В журнале будет показано несколько строк, указывающих, что командная строка подключена к базе данных MongoDB.
Пример ответа в командной строке показан ниже, чтобы дать вам лучшее представление об этом.
- Чтобы создать коллекцию, выполните следующую команду:
Вот как создается пустая коллекция. Следующим шагом является вставка данных и некоторая обработка записей с использованием командной строки MongoDB.
Вставка документа в коллекцию
Как обсуждалось выше, можно вставить практически любой JSON в каждую коллекцию MongoDB.
Давайте начнем со вставки первого документа JSON в коллекцию firstCollection, созданную выше.
Приведенная выше команда вставляет один документ JSON в firstCollection . То же самое можно проверить с помощью команды, показанной ниже:
Приведенная выше команда имеет многократное использование в зависимости от варианта find() функции. Если аргументы не указаны, как в случае с приведенной выше командой, она выбирает все доступные документы из коллекции.
Вы можете вставить еще одну запись и попробовать то же самое. При этом выходные данные вышеуказанной команды будут аналогичны показанным ниже:
Как видно, показаны две доступные записи. Функция find() может быть легко использована для фильтрации документов на основе определенных параметров. Давайте отфильтруем документ, используя атрибут name.
Процесс фильтрации прост, и это можно понять из команды ниже:
Фильтр также можно использовать с несколькими атрибутами в JSON. Хотя к запросу можно добавить любое количество параметров, ограничением этого подхода является то, что он соответствует только точному значению атрибутов.
Фильтрация записей с использованием регулярных выражений (Regex)
Чтобы выполнить MongoDB эквивалент MySQL- сочетанием like , MongoDB использует регулярное выражение. Регулярное выражение- это серия символов, образующих шаблон для соответствия. Литералы регулярного выражения похожи на те, которые используются в Javascript.
Для текущей коллекции мы попытаемся извлечь данные, сопоставив шаблон для атрибута skill . Команда ниже извлечет две записи, поскольку обе содержат строку MongoDB.
Приведенный выше код отображает результат двух разных строк в форме регулярного выражения. Первый запрос извлекает список документа, в котором атрибут skill содержит ключевое слово MongoDB, а другой — только людей, имеющих опыт работы с Java.
Следующая проблема в запросах, основанных на критериях, — это запрос с условием OR или AND.
Сложные запросы в MongoDB
Как видно из приведенных выше команд, MongoDB, работает с форматом JSON. Процесс объединения условий также зависит от самого JSON. MongoDB предоставляет такие операторы, как $or , $and , а также $not .
Давайте попробуем получить список документов, в которых атрибут name содержит John или атрибут skill содержит Java.
Точно так же можно использовать оператор $and с массивом условий JSON, как показано выше.
Для следующего набора операторов нам нужно будет создать еще одну коллекцию и добавить в нее несколько записей, используя команды ниже.
Следующий набор операторов, которые мы будем использовать, это операторы сравнения в запросе. Для сравнения значений с использованием таких критериев, как меньше или больше или не равно, мы используем соответствующие операторы в передаваемом нами значении.
Пример получения списка студентов с оценками выше 22 показан ниже.
Оператор $gt указывает больше, чем в критериях. Таким образом, документы с отметками более 22 отображаются. Точно так же есть другие операторы, которые можно использовать. Они перечислены ниже.
Оператор | Назначение | Пример |
$eq | Если значение равно | |
$gt | Если значение больше | |
$lt | Если значение меньше | |
$gte | Если значение больше или равно | |
$lte | Если значение меньше или равно | |
$ne | Если значение не равно | |
$in | Если значение равно одному из значений массива | |
$nin | Если значение не равно одному из значений массива |
Графический интерфейс (GUI) в MongoDB
В обсуждении выше мы использовали командную строку для выполнения наших запросов в MongoDB.
Использование командной строки может быть сложной задачей, когда речь идет о сложных запросах и большем наборе данных. Чтобы упростить просмотр данных и выполнение запросов, MongoDB предоставляет вам отличный инструмент с графическим интерфейсом, который называется MongoDB Compass.
MongoDB Compass можно легко загрузить с сайта загрузки MongoDB. После того, как вы загрузили и установили MongoDB Compass, запустите приложение, и вас будет приветствовать экран, похожий на экран, показанный ниже.
Учитывая, что у вас запущен и работает сервер MongoDB, нажмите кнопку CONNECT со сведениями по умолчанию. Вы должны войти в систему и увидеть список доступных баз данных.
Щелкните по базе данных учебника, чтобы проверить список коллекций в учебной базе данных. Как показано ниже, он отображает список доступных коллекций в учебной базе данных.
При щелчке по коллекции отображается список документов с необходимыми элементами управления для фильтрации записей с использованием JSON, а также средство для просмотра документов в формате JSON или табличном формате согласно вашему удобству.
Графический интерфейс также упрощает добавление документа. Все, что вам нужно сделать, это нажать кнопку INSERT DOCUMENT на экране, показанном ниже. Он открывает небольшое диалоговое окно с запросом деталей документа с автоматически сгенерированным идентификатором документа.
Графический интерфейс упрощает множество операций, которые могут быть затруднены при использовании интерфейса командной строки MongoDB.
Мы описали суть NoSQL с помощью множества примеров и поняли, как документы отличаются от обычной записи реляционной базы данных.