Научете какво са MongoDB, ръководство за инсталиране и основна работа.


MongoDB NoSQL е тенденция повече от всякога. Имате ли необходимо разбиране за това?

Не се притеснявайте, ако не, следното ще ви помогне.

Въведение

С преминаването на парадигмата към динамичното съдържание уебсайтът търсенето на No-SQL база данни нарасна. Това породи множество No-SQL бази данни като MongoDB.

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

A-SQL база данни е база данни, където структурата на таблицата не е фиксирана, за разлика от структурираните SQL бази данни. MongoDB съхранява данните под формата на JSON низ, независимо от броя на атрибутите или името на атрибутите в конкретна колона.

Това позволява на разработчиците бързо да правят промени в субектите, без да има нужда от промени в нивото на базата данни.

Инсталиране на MongoDB

MongoDB, както всяка друга база данни, се предлага в множество варианти в зависимост от нуждите от развитие. Вариантите са изброени по-долу и могат да бъдат използвани или изтеглени от това връзка

  • MongoDB Atlas – База данни като услуга
  • Community Server – Безплатен за използване за общността на разработчиците
  • MongoDB Enterprise Edition – Комерсиалната версия с допълнителни функции

Всяко от тях е напълно съвместимо с всяка операционна система. Като начало, инсталирането на общностен сървър, изтеглете съответния инсталационен файл според вашата операционна система.

Процесът на инсталиране леко се различава за всяка операционна система и следователно ще преминем през всяка инсталация на операционна система поотделно.

Инсталиране в MacOS

За да инсталирате MongoDB в MacOS. Изтеглете .tgz архив, съдържащ необходимите двоични файлове в него. Когато премахнете архивирането на файла, трябва да можете да видите куп бинарни файлове, разположени в кофа за боклук папка.

  • Преместете папката на кошчето на желаното място
  • Отворете терминал и променете директорията в посочената по-горе директория
  • Изпълнете командата по-долу, за да създадете база данни на желаното място.

$ ./mongod –dbpath / пътека до желаната директория /

В горната команда заменете пътя до директорията с желания от вас път и сървърът ще се стартира веднага щом командата се изпълни.

Инсталиране в Windows

Центърът за изтегляне на MongoDB осигурява изпълним файл .MSI пакет за инсталиране на MongoDB в Windows. Инсталирането в Windows е доста просто и може да се извърши с помощта на няколко команди, след като инсталацията бъде изтеглена.

  • Изпълнете командите по-долу, за да инсталирате MongoDB в Windows PC / сървър.

> CD / папка за настройка /
> msiexec.exe / q / i .msi ^
INSTALLLOCATION ="C: \ програмни файлове \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Горните команди ще ви пренесат в съответната директория и ще извършат настройката за инсталиране на посоченото място. След като бъде инсталиран, трябва да конфигурирате пътя за съхранение на база данни по подразбиране за MongoDB. Командата по-долу ви помага да конфигурирате същото

> md \ db \ данни

Горната команда създава папка db / data в директорията, където командният ред сочи към момента. В случай, че отново трябва да пренастроите базата данни, можете да използвате mongod.exe с DBPath аргумент, както е показано по-долу:

>"C: \ програмни файлове \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Инсталиране в Linux

Подобно на изтеглянията на MacOS, вариантите на MongoDB за Linux се предлагат и под формата на архивиран куп бинарни файлове. Процесът за инсталиране на MongoDB е доста подобен.

  • Преместете двоичните файлове до желаното място
  • Отворете терминала в папката
  • Изпълнете командата по-долу с желаното местоположение на DB

$ ./mongod –dbpath / пътека до желаната директория /

Създаване на първата колекция

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

За да съхраняваме документи, първо трябва да създадем колекция. Вълнуващото нещо за базата данни на NoSQL е, че за разлика от SQL базата данни, не е необходимо да указвате имена на колони или типове данни в нея.

Първата стъпка към създаването на колекция е създаването на база данни. За да създадете база данни и да се свържете с нея с помощта на командния ред, изпълнете командата по-долу от началната директория на инсталацията MongoDB.

$ ./bin/mongo урок

Тази команда се използва за стартиране на връзката към базата данни и свързване към базата данни с ръководството едновременно. Той ще покаже куп редове в дневника, които показват, че командният ред е свързан към базата данни на MongoDB.

Примерно изображение на команден ред е показано по-долу, за да ви даде по-добра представа за същото.

  • За да създадете колекция, изпълнете командата по-долу:

$ > db.createCollection ( “firstCollection ‘);

Така се създава празна колекция. Следващата стъпка е да вмъкнете данни и да извършите някаква обработка на записите, като използвате командния ред MongoDB.

Поставяне на документ в колекцията

Както беше обсъдено по-горе, е възможно да се вмъкне почти всяка JSON във всяка колекция на MongoDB.

Нека започнем с вмъкването на първия документ JSON в firstCollection колекция, създадена по-горе.

> db.firstCollection.insertOne ({име: “Abhishek”, умения: “MongoDB ‘});

Горната команда вмъква един JSON документ в firstCollection. Същото може да бъде потвърдено чрез командата, показана по-долу:

> db.firstCollection.find ();

Горната команда има множество приложения в зависимост от вариацията на функцията find (). Когато няма посочени аргументи, както е в случая с горната команда, тя извлича всички налични документи от колекцията.

Можете да поставите още един запис и да опитате същите. По този начин изходът на горната команда ще бъде подобен на показания по-долу:

> db.firstCollection.find ();
{ "_документ за самоличност" : ObjectId ("5b043a32c29a7184535e783a"), "име" : "Abhishek", "умение" : "MongoDB" }
{ "_документ за самоличност" : ObjectId ("5b05b4f0c29a7184535e783b"), "име" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }

Както се вижда, се показват два налични записа. Функцията find () може лесно да се използва за филтриране на документи въз основа на конкретни параметри. Нека филтрираме документа, използвайки атрибут име.

Процесът на филтриране е прост и може да се разбере от командата по-долу:

db.firstCollection.find ({име: “Abhishek ‘});
{ "_документ за самоличност" : ObjectId ("5b043a32c29a7184535e783a"), "име" : "Abhishek", "умение" : "MongoDB" }

Филтърът може да се използва и с множество атрибути в JSON. Въпреки че е възможно да добавите произволен брой параметри към заявката, ограничението на този подход е, че той съответства само на точната стойност на атрибутите.

Филтриране на записи с помощта на Regex

За да изпълни MongoDB еквивалент на клауза MySQL като MongoDB използва регулярен. Regex е поредица от герои, формиращи модел, който да съвпада. Регекс литералите са подобни на тези, използвани в Javascript.

За текущата колекция ще се опитаме да извлечем данните, като съответстваме на модел за атрибута на умение. Командата по-долу получава списъка с хора с умението MongoDB. По този начин тя ще извади два записа, тъй като и двата съдържат низ MongoDB.

> db.firstCollection.find ({специалистите. /.* MongoDB * /});
{ "_документ за самоличност" : ObjectId ("5b043a32c29a7184535e783a"), "име" : "Abhishek", "умение" : "MongoDB" }
{ "_документ за самоличност" : ObjectId ("5b05b4f0c29a7184535e783b"), "име" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({специалистите. /.* Java * /});
{ "_документ за самоличност" : ObjectId ("5b05b4f0c29a7184535e783b"), "име" : "GeekFlare", "умение" : "Java, MongoDB, NodeJS" }

Горният код показва резултата от два различни низа във формата на регекс. Първата заявка извлича списъка на документ, където атрибутът на умение съдържа ключовата дума MongoDB, докато другият извлича хора, квалифицирани само в Java.

Следващото предизвикателство при заявката, основаващо се на критерии, е да запитвате със условие ИЛИ или И.

Сложни заявки в MongoDB

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

Нека се опитаме да вземем списъка с документи, където атрибутът на име съдържа Abhishek или умението съдържа Java.

> db.firstCollection.find ({$ или: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_документ за самоличност" : ObjectId ("5b043a32c29a7184535e783a"), "име" : "Abhishek", "умение" : "MongoDB" }
{ "_документ за самоличност" : ObjectId ("5b05b4f0c29a7184535e783b"), "име" : "Geekflare", "умение" : "Java, MongoDB, NodeJS" }

Както се вижда, тя извлича и двата записа. Можете да опитате да използвате атрибута name като Geekflare и да видите промяната. Ще бъде показан само документът с три умения и име Geekflare.

По подобен начин е възможно да се използва $ и оператор с масив от JSON условия, както е показано по-горе.

За следващия набор от оператори трябва да създадем още една колекция и да добавим някои записи към нея с помощта на командите по-долу.

> db.createCollection ( “studentmarks ‘);
{ "Добре" : 1}
> db.studentmarks.insertMany ([{име: “А”, марка: 20}, {име: “В”, марка: 25}, {име: “С”, марка: 22}, {име: “D”, марка: 30}]);
{
"призната" : вярно,
"insertedIds" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Следващият набор от оператори, които бихме използвали, са оператори за сравнение в заявката. Да сравняваме стойности, използвайки критерии като по-малко от или по-голяма от или не е равно на, използваме съответните оператори в стойността, която предаваме.

Пример за получаване на списък на ученици с оценки по-големи от 22 е показан по-долу.

db.studentmarks.find ({марка: {$ GT: 22}});
{ "_документ за самоличност" : ObjectId ("5b06e7b5c29a7184535e783d"), "име" : "B", "марка" : 25}
{ "_документ за самоличност" : ObjectId ("5b06e7b5c29a7184535e783f"), "име" : "д", "марка" : 30}

$ Gt тук показва по-голяма от в критериите. По този начин се показват документите с марки над 22. По подобен начин има и други оператори, които могат да се използват. Те са изброени по-долу.

Оператор
употреба
пример
$ еквПроверете дали стойността е равна{марка: {$ екв: 20}}
$ LTПроверете дали стойността е по-малка от{марки: {$ lt: 20}}
$ GTEПроверете дали стойността е по-голяма или равна на{Марка: {$ GTE: 22}}
$ LTEПроверете дали стойността е по-малка благодаря или равна на{Марка: {$ LTE: 22}}
$ СИПроверете дали стойността не е равна на{марка: {$ NE: 22}}
долараПроверете дали стойността е равна на която и да е от стойностите от масива{Марка: {$ от: [20,22]}}
$ нинПроверете дали стойността не е равна на нито една стойност от масива{Марка: {$ нин: [22,25]}}

GUI за MongoDB

В дискусията по-горе използвахме команден ред за изпълнение на нашите заявки в MongoDB.

Използването на командния ред може да бъде предизвикателство, когато става дума за сложни заявки и по-голям куп данни. За по-лесно преглед на данните и изпълнение на заявките, MongoDB ви предоставя отличен GUI инструмент, наречен MongoDB Compass.

Компасът MongoDB може лесно да бъде изтеглен от MongoDB изтегля сайт. След като изтеглите и инсталирате MongoDB Compass, стартирайте приложението и ще бъдете посрещнати от екран, подобен на екрана, показан по-долу.

MongoDBCompass

Имайки предвид, че имате инсталиран и работещ MongoDB сървър, щракнете върху свързване с подробности по подразбиране. Трябва да влезете и да покажете списъка с наличните бази данни.

Щракнете върху базата данни с уроци, за да разгледате списъка с колекции в dborial. Както е показано по-долу, той показва списъка с наличните колекции в ръководството db.

Когато щракнете върху колекцията, тя показва списъка с документи с необходимите контроли за филтриране на записите с помощта на JSON, както и съоръжението за преглед на документите във формат JSON или в таблица според нашето удобство.

GUI също прави добавянето на документ по-просто. Всичко, което трябва да направите, е да щракнете върху бутона Вмъкване на документ на екрана, показан по-долу. Той отваря малък диалогов прозорец с искане за подробности за документа с автоматично генериран идентификационен номер на документ.

MongoDBDocuments

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

заключение

Заснехме същността на NoSQL с различни примери и разбрахме инсталацията, как документите са различни в сравнение с типичен запис на релационна база данни. Можете също да го насочите учене на MongoDB от нулата онлайн курс.

И, ако сте разработчик, тогава може да се интересувате този.

ЕТИКЕТИ:

  • База данни

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