Узнайте, что такое MongoDB, руководство по установке и основные операции.


MongoDB NoSQL сейчас в тренде как никогда. У вас есть необходимое понимание этого?

Не волнуйтесь, если нет, то следующее поможет вам.

Введение

С переходом парадигмы в сторону динамического контента, спрос на базу данных No-SQL вырос. Это привело к появлению многочисленных баз данных No-SQL, таких как MongoDB.

MongoDB, классифицированная как база данных No-SQL, представляет собой базу данных на основе документов, в которой хранятся данные в виде документов JSON, автоматически сгенерированные для каждого документа..

База данных No-SQL – это база данных, в которой структура таблицы не является фиксированной, в отличие от структурированных баз данных SQL. MongoDB хранит данные в виде строки JSON независимо от количества атрибутов или имени атрибутов в определенном столбце..

Это позволяет разработчикам быстро вносить изменения в сущности без необходимости каких-либо изменений на уровне базы данных..

Установка MongoDB

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

  • MongoDB Atlas – База данных как услуга
  • Сервер совместной работы – бесплатный для сообщества разработчиков
  • MongoDB Enterprise Edition – коммерческая версия с дополнительными функциями

Каждый из них полностью совместим с любой операционной системой. Для начала, установка сервера сообщества, загрузите соответствующий установочный файл в соответствии с вашей операционной системой.

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

Установка в MacOS

Установить MongoDB в MacOS. Загрузите архив .tgz, содержащий необходимые двоичные файлы. Разархивировав файл, вы сможете просмотреть группу двоичных файлов, расположенных в бункер папка.

  • Переместите папку для мусора в нужное место
  • Откройте терминал и измените каталог на каталог bin, упомянутый выше
  • Выполните приведенную ниже команду, чтобы создать базу данных в нужном месте.

$ ./mongod –dbpath / путь к нужному каталогу /

В приведенной выше команде замените путь к каталогу желаемым путем, и сервер будет запущен, как только команда будет выполнена.

Установка в Windows

Центр загрузки MongoDB предоставляет исполняемый файл .MSI пакет для установки MongoDB в windows. Установка в Windows довольно проста и может быть выполнена с помощью нескольких команд после загрузки установки..

  • Выполните следующие команды, чтобы установить MongoDB на ПК с Windows или на сервере.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
INSTALLLOCATION ="C: \ Program Files \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Вышеуказанные команды приведут вас в соответствующий каталог и выполнят установку для установки в указанном месте. После установки необходимо настроить путь к хранилищу базы данных по умолчанию для MongoDB. Команда ниже поможет вам настроить

> md \ db \ data

Приведенная выше команда создает папку db / data в каталоге, на который в данный момент указывает командная строка. Если вам нужно перенастроить базу данных еще раз, вы можете использовать mongod.exe с DBPATH аргумент, как показано ниже:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Установка в Linux

Как и в случае загрузок MacOS, MongoDB для Linux также доступна в виде архива файлов. Процесс установки MongoDB очень похож.

  • Переместить двоичные файлы в нужное место
  • Откройте терминал в папке
  • Выполните приведенную ниже команду с желаемым расположением БД

$ ./mongod –dbpath / путь к нужному каталогу /

Создание первой коллекции

MongoDB хранит данные в форме документов JSON. Группа такой документации все вместе известна как коллекция в MongoDB. Таким образом, коллекция аналогична таблице в реляционной базе данных, а документ аналогичен записи..

Для хранения документов нам сначала нужно создать коллекцию. Интересной особенностью базы данных NoSQL является то, что в отличие от базы данных SQL вам не нужно указывать имена столбцов или типы данных в ней.

Первым шагом к созданию коллекции является создание базы данных. Чтобы создать базу данных и подключиться к ней с помощью командной строки, выполните команду ниже из домашнего каталога установки MongoDB.

учебник по $ ./bin/mongo

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

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

  • Чтобы создать коллекцию, выполните следующую команду:

$ > db.createCollection ( ‘firstCollection’);

Так создается пустая коллекция. Следующим шагом является вставка данных и некоторая обработка записей с использованием командной строки MongoDB..

Вставка документа в коллекцию

Как обсуждалось выше, можно вставить практически любой JSON в каждую коллекцию MongoDB..

Давайте начнем со вставки первого документа JSON в firstCollection Коллекция создана выше.

> db.firstCollection.insertOne ({имя: ‘Абхишек’, мастерство: ‘MongoDB’});

Приведенная выше команда вставляет один документ JSON в firstCollection. То же самое можно проверить с помощью команды, показанной ниже:

> db.firstCollection.find ();

Приведенная выше команда имеет многократное использование в зависимости от варианта функции find (). Если аргументы не указаны, как в случае с приведенной выше командой, она выбирает все доступные документы из коллекции.

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

> db.firstCollection.find ();
{ "_Я бы" : ObjectId ("5b043a32c29a7184535e783a"), "имя" : "Абхишек", "умение" : "MongoDB" }
{ "_Я бы" : ObjectId ("5b05b4f0c29a7184535e783b"), "имя" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }

Как видно, показаны две доступные записи. Функция find () может быть легко использована для фильтрации документов на основе определенных параметров. Давайте отфильтруем документ, используя атрибут name.

Процесс фильтрации прост, и это можно понять из команды ниже:

db.firstCollection.find ({имя: ‘Абхишек’});
{ "_Я бы" : ObjectId ("5b043a32c29a7184535e783a"), "имя" : "Абхишек", "умение" : "MongoDB" }

Фильтр также можно использовать с несколькими атрибутами в JSON. Хотя к запросу можно добавить любое количество параметров, ограничением этого подхода является то, что он соответствует только точному значению атрибутов..

Фильтрация записей с использованием Regex

Для выполнения MongoDB эквивалента MySQL как предложение, MongoDB использует регулярное выражение. Regex – это серия символов, образующих шаблон для соответствия. Регулярные литералы похожи на те, которые используются в Javascript.

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

> db.firstCollection.find ({умение:. /.* MongoDB * /});
{ "_Я бы" : ObjectId ("5b043a32c29a7184535e783a"), "имя" : "Абхишек", "умение" : "MongoDB" }
{ "_Я бы" : ObjectId ("5b05b4f0c29a7184535e783b"), "имя" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({умение:. /.* Java * /});
{ "_Я бы" : ObjectId ("5b05b4f0c29a7184535e783b"), "имя" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }

Приведенный выше код отображает результат двух разных строк в форме регулярного выражения. Первый запрос выбирает список документа, в котором атрибут навыка содержит ключевое слово MongoDB, а другой – только людей, обладающих навыком только на Java..

Следующая проблема в запросах, основанных на критериях, – это запрос с условием ИЛИ или И.

Сложные запросы в MongoDB

Как видно из приведенных выше команд, MongoDB, где предложения работают на JSON. Процесс объединения условий также зависит от самого JSON. MongoDB предоставляет такие операторы, как $ или, $, а также $, чтобы не выполнять соответствующие операции запроса.

Попробуем получить список документов, в которых атрибут name содержит Abhishek или навык содержит Java.

> db.firstCollection.find ({$ or: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_Я бы" : ObjectId ("5b043a32c29a7184535e783a"), "имя" : "Абхишек", "умение" : "MongoDB" }
{ "_Я бы" : ObjectId ("5b05b4f0c29a7184535e783b"), "имя" : "Geekflare", "умение" : "Java, MongoDB, NodeJS" }

Как видно, он выбирает обе записи. Вы можете попробовать использовать атрибут имени как Geekflare и увидеть изменения. Будет отображаться только документ с тремя навыками и именем Geekflare.

Аналогично, можно использовать оператор $ и с массивом условий JSON, как показано выше..

Для следующего набора операторов нам нужно создать еще одну коллекцию и добавить в нее несколько записей, используя команды ниже.

> db.createCollection ( ‘studentmarks’);
{ "Хорошо" : 1}
> db.studentmarks.insertMany ([{имя: ‘А’, маркировка: 20}, {имя: ‘В’, маркировка: 25}, {имя: ‘C’, маркировка: 22}, {имя: ‘D’, знаки: 30}]);
{
"признанный" : правда,
"insertedIds" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Следующий набор операторов, которые мы будем использовать, это операторы сравнения в запросе. Чтобы сравнить значения с помощью таких критериев, как меньше, чем или лучше чем или не равно, мы используем соответствующие операторы в значение, которое мы передаем.

Пример получения списка студентов с оценками выше 22 показан ниже.

db.studentmarks.find ({знаки: {$ Gt: 22}});
{ "_Я бы" : ObjectId ("5b06e7b5c29a7184535e783d"), "имя" : "В", "Метки" : 25}
{ "_Я бы" : ObjectId ("5b06e7b5c29a7184535e783f"), "имя" : "D", "Метки" : 30}

$ Gt здесь указывает лучше чем в критериях. Таким образом, документы с отметками более 22 отображаются. Точно так же есть другие операторы, которые можно использовать. Они перечислены ниже.

оператор
использование
пример
$ эквПроверьте, равно ли значение{знаки: {$ эк: 20}}
$ лПроверьте, если значение меньше{marks: {$ lt: 20}}
$ GTEПроверьте, является ли значение больше или равно{Метки: {$ GTE: 22}}
$ ГеПроверьте, если значение меньше спасибо или равно{Метка: {$ Г: 22}}
$ пеПроверьте, не равно ли значение{знаки: {$ п: 22}}
$ вПроверьте, равно ли значение одному из значений массива{Метки: {$ в: [20,22]}}
$ нинПроверьте, не равно ли значение какому-либо значению из массива{Метки: {$ нин: [22,25]}}

GUI для MongoDB

В обсуждении выше мы использовали командную строку для выполнения наших запросов в MongoDB.

Использование командной строки может быть сложной задачей, когда речь идет о сложных запросах и большем количестве данных. Чтобы упростить просмотр данных и выполнение запросов, MongoDB предоставляет вам отличный инструмент с графическим интерфейсом под названием MongoDB Compass.

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

MongoDBCompass

Учитывая, что сервер MongoDB запущен и работает, нажмите кнопку «Подключиться» со сведениями по умолчанию. Вы должны войти в систему и показать список доступных баз данных.

Щелкните по базе данных учебника, чтобы проверить список коллекций в учебной базе данных. Как показано ниже, он отображает список доступных коллекций в учебной базе данных.

При щелчке по коллекции отображается список документов с необходимыми элементами управления для фильтрации записей с использованием JSON, а также средство для просмотра документов в формате JSON или табличном формате согласно нашему удобству..

Графический интерфейс также упрощает добавление документа. Все, что вам нужно сделать, это нажать кнопку «Вставить документ» на экране, показанном ниже. Он открывает небольшое диалоговое окно с запросом деталей документа с автоматически сгенерированным идентификатором документа..

MongoDBDocuments

GUI упрощает множество операций, которые могут быть затруднены при использовании интерфейса командной строки MongoDB.

Вывод

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

И, если вы разработчик, то вы можете быть заинтересованы в этот.

TAGS:

  • База данных

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me