Початок роботи з MongoDB для початківців

Дізнайтеся, що таке MongoDB, керівництво по установці та основна робота.


MongoDB NoSQL має тенденцію більше, ніж будь-коли. Чи маєте ви це необхідне розуміння?

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

Вступ

З переходом парадигми на динамічний контент попит на базу даних No-SQL зростав. Це породило численні бази даних No-SQL MongoDB.

Класифікована як база даних без SQL, MongoDB – це база даних, що базується на документах, яка зберігає дані у вигляді документів 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 / папка настройки /
> msiexec.exe / q / i .msi ^
ВСТАНОВЛЕННЯ ="C: \ Файли програми \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

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

> md \ db \ дані

Вищевказана команда створює папку db / data в каталозі, на який вказує поточний командний рядок. Якщо вам доведеться повторно налаштувати базу даних, ви можете використовувати mongod.exe з dbpath аргумент, як показано нижче:

>"C: \ Файли програм \ MongoDB \ bin \ mongod.exe" –dbpath d: \ посібник \ mongodb \ дані

Встановлення в Linux

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

  • Перемістіть бінарні файли до потрібного місця
  • Відкрийте термінал у папці
  • Виконайте нижче команду з потрібним розташуванням БД

$ ./mongod –dbpath / шлях до потрібного каталогу /

Створення першої колекції

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

Для зберігання документів нам спочатку потрібно створити колекцію. Захоплююче в базі даних NoSQL полягає в тому, що на відміну від бази даних SQL, вам не потрібно вказувати назви стовпців або типи даних у ній.

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

Підручник з $ ./bin/mongo

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

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

  • Щоб створити колекцію, виконайте команду нижче:

$ > db.createCollection (‘firstCollection’);

Так створюється порожня колекція. Наступним кроком є ​​вставка даних і деяка обробка записів за допомогою командного рядка MongoDB.

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

Як обговорювалося вище, в будь-яку колекцію MongoDB можна вставити майже будь-який JSON.

Почнемо із вставки першого документа JSON у першийколекція колекція, створена вище.

> db.firstCollection.insertOne ({ім’я: ‘Abhishek’, вміння: ‘MongoDB’});

Вищевказана команда вставляє один документ JSON у першийCollection. Те саме можна перевірити за допомогою команди, показаної нижче:

> db.firstCollection.find ();

Наведена вище команда отримує багаторазове використання залежно від варіації функції find (). Коли немає аргументів, як у випадку з вищевказаною командою, вона отримує всі наявні документи з колекції.

Ви можете вставити ще один запис і спробувати те саме. При цьому вихід цієї команди буде подібний до показаного нижче:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "назва" : "Абхішек", "майстерність" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "назва" : "GeekFlare", "майстерність" : "Java, MongoDB, NodeJS" }

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

Процес фільтрування простий, і це можна зрозуміти з команди нижче:

db.firstCollection.find ({name: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "назва" : "Абхішек", "майстерність" : "MongoDB" }

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

Фільтрування записів за допомогою Regex

Для виконання еквівалента MongoDB такого розділу, як MySQL, використовується MongoDB регекс. Regex – це серія персонажів, що утворюють узор для узгодження. Буквені позначення регулярних виразів схожі на ті, які використовуються у Javascript.

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

> db.firstCollection.find ({вміння: /.* MongoDB. * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "назва" : "Абхішек", "майстерність" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "назва" : "GeekFlare", "майстерність" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({вміння: /.* Java. * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "назва" : "GeekFlare", "майстерність" : "Java, MongoDB, NodeJS" }

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

Наступним завданням у запиті на основі критеріїв є запит із умовою АБО чи І.

Складні запити в MongoDB

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

Спробуємо отримати список документів, де атрибут імені містить Abhishek або вміння містить Java.

> db.firstCollection.find ({$ або: [{ім’я: ‘Abhishek’}, {вміння: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "назва" : "Абхішек", "майстерність" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "назва" : "Geekflare", "майстерність" : "Java, MongoDB, NodeJS" }

Як видно, він отримує обидва записи. Ви можете спробувати використати атрибут імені як Geekflare і переглянути зміни. Відобразиться лише документ із трьома навичками та ім’ям Geekflare.

Аналогічно, можна використовувати $ і operator з масивом JSON, як показано вище.

Для наступного набору операторів нам знадобиться створити ще одну колекцію та додати до неї деякі записи за допомогою наведених нижче команд.

> db.createCollection (‘позначки студентів’);
{ "добре" : 1}
> db.studentmarks.insertMany ([{ім’я: ‘A’, позначки: 20}, {ім’я: ‘B’, позначки: 25}, {ім’я: ‘C’, знаки: 22}, {ім’я: ‘D’, позначки: 30}]);
{
"визнав" : правда,
"вставлені ідентифікатори" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Наступний набір операторів, який ми використовуємо, – це оператори порівняння у запиті. Порівняти значення, використовуючи такі критерії менше, ніж або більш чим або не дорівнює, ми використовуємо відповідні оператори у значенні, яке ми передаємо.

Приклад отримання списку учнів із оцінками, що перевищують 22, наведено нижче.

db.studentmarks.find ({знаки: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "назва" : "Б", "марок" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "назва" : "D", "марок" : 30}

Тут вказується $ gt більш чим в критеріях. Таким чином, відображаються документи з позначками понад 22. Так само є й інші оператори, якими можна скористатися. Вони перераховані нижче.

Оператор
Використовуйте
Приклад
$ еквПеревірте, чи значення дорівнює{знаки: {$ eq: 20}}
$ ltПеревірте, чи не менше значення{марок: {$ lt: 20}}
$ gteПеревірте, чи значення більше або дорівнює{знаки: {$ gte: 22}}
$ lteПеревірте, чи менше значення подяки чи рівне{марок: {$ lte: 22}}
$ neПеревірте, чи значення не дорівнює{знаки: {$ ne: 22}}
$ вПеревірте, чи значення дорівнює одному з значень масиву{балів: {$ in: [20,22]}}
$ дев’ятьПеревірте, чи значення не дорівнює жодному значенню з масиву{оцінки: {$ nin: [22,25]}}

GUI для MongoDB

У обговоренні вище ми використовували командний рядок для виконання наших запитів у MongoDB.

Використання командного рядка може бути складним, коли мова йде про складні запити та більший набір даних. Щоб полегшити перегляд даних та виконати запити, MongoDB надає вам відмінний інструмент GUI під назвою MongoDB Compass.

Компас MongoDB можна легко завантажити з MongoDB завантажує сайт. Завантаживши та встановивши MongoDB Compass, запустіть програму, і вас вітатиме екран, аналогічний екрану, показаному нижче.

MongoDBCompass

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

Клацніть по базі даних підручників, щоб переглянути список колекцій у підручнику db. Як показано нижче, він відображає список доступних колекцій у підручнику db.

Клацнувши колекцію, вона відображає список документів з необхідними елементами управління для фільтрації записів за допомогою JSON, а також можливість перегляду документів у форматі JSON або табличному форматі відповідно до нашої зручності.

GUI також робить додавання документа простішим. Все, що вам потрібно зробити, це натиснути кнопку Вставити документ на екрані, показаному нижче. Це відкриває невелике діалогове вікно із запитом деталей документа з автоматично згенерованим ідентифікатором документа.

MongoDBдокументи

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

Висновок

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

І, якщо ви розробник, то вас може зацікавити ось цей.

МЕТИ:

  • База даних

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map