Знайомство з MongoDB
MongoDB позиціонує себе як передова NoSQL база даних. Це твердження засноване на статистичних даних, так що довести зворотне досить важко. Ми й не будемо.
MongoDB використовується зокрема в MEAN - "все в одному" JS фреймворку для розробки web-додатків. Перевага використання баз даних подібних до MongoDB полягає в тому, що вона надає можливість легкої роботи з даними у форматі JSON у будь-який частині вашої програми. Це значить, що ви можете передавати і зберігати дані у форматі JSON на на всіх рівнях: фронтенд (Angular), бекенд (Node) і, власне, база даних - MongoDB.
Відвідайте офіційний сайт проекту, щоб докладніше вивчити всі аспекти роботи з MongoDB. Зараз же ми встановимо його і проведемо невеликий тест-драйв.
Установка та запуск
Установка MongoDB проводиться в два простих кроки, які полягають в наступному:
- запустити інсталятор;
- вибрати директорію установки;
По виконанні цих простих дій ми зможемо повноцінно працювати з базою даних на локальній машині.
Наступні інструкції написані для користувачів Mac, так як для Windows та Linux існують зручні інсталятори.
Стандартна папка установки - /data/db/. У цій папці будуть зберігатися всі робочі файли, тому переконайтеся, що маєте необхідні права для запису в неї.
Установку на Mac можна зробити або вручну, або за допомогою homebrew-рішення, яке розроблене силами користувачів-ентузіастів. У цій статті ми вдамося до допомоги другого.
// оновлення пакетів
$ brew update
// install mongoDB
$ brew install mongodb
Якщо ви з якихось причин не хочете використовувати homebrew-інсталятор, то можете відвідати офіційний сайт, де ви знайдете всі необхідні інструкції.
Початок використання
Для того, щоб почати роботу необхідно виконати всього два пункти:
- запустити процес
- під'єднатись
Звучить просто, чи не так? Давайте спробуємо.
Старт служби MongoDB
Перед тим як почати щось зберігати в базі даних, необхідно під'єднати її до нашого проекту. Робиться це елементарною командою:
$ mongod
Якщо команда виконалась як слід, це означає, що Mongo почав працювати. Переконатися в цьому можна, побачивши "waiting for connections on port 27017" в консолі:
Під'єднання до служби MongoDB
Після того, як служба запущена, нам залишається тільки підключитися до неї за допомогою наступної команди:
$ mongo
Тепер ми можемо повноцінно працювати з нашою базою даних.
На цьому зображенні ви можете побачити, що в правій панелі нам повідомили про успішне підключення, а в лівій воно додалося в лог.
Загальні команди для роботи з базою даних
Список усіх команд
$ show dbs
Створення бази даних
Базу даних не буде створено, поки ви не додасте в неї хоча б одне значення. Трюк полягає в тому, що вам зовсім не треба створювати ніяких баз даних. При зверненні до неіснуючої, вона буде автоматично створена.
Створення документів і колекцій ми розглянемо в розділі "CRUD команди" цієї статті.
Показати поточну базу даних
$ db
Обрати базу даних
$ use db_name
СRUD команди
Створення
// один користувач
$ db.users.save({ name: 'Chris' });
// декілька користувачів
$ db.users.save({ name: 'Chris'}, { name: 'Holly' });
Зберігаючи документ в колекцію users, ви успішно створюєте і базу, і колекцію, якщо до цього вони не існували.
Зчитування
// показати всіх користувачів
$ db.users.find();
// знайти певного користувача
$ db.users.find({ name: 'Holly' });
Оновлення даних
db.users.update({ name: 'Holly' }, { name: 'Holly Lloyd' });
Видалення
// видалити все
db.users.remove({});
// видалити певного користувача
db.users.remove({ name: 'Holly' });
Ми коротко пробіглися по основним командам MongoDB. У документації ви знайдете вичерпну інформацію по всім командам. Також існує інтерактивне керівництво
Використання Node.js додатків
Як бачите працювати з MongoDB досить просто. Для того, щоб пов'язати її з Node.js існує бібліотека mongooseJS.
Все, що нам необхідно зробити - конфігурувати mongoose для роботи з базою даних. А так як у нас немає необхідності створювати бази даних, це елементарна справа єдине, в чому потрібно переконатися, - в тому, що служба MongoDB запущена коректно:
$ mongod
Також ми повинні вказати mongoose ім'я бази даних, з якою вона буде працювати (пам'ятаєте, що їй не обов'язково існувати на момент створення).
Ось невеликий приклад коду, який дозволить працювати з базою в Node:
// обираємо необхідні нам пакети
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db_name');
От і все! Як тільки ми почнемо щось записувати в базу даних під назву db_name, вона буде автоматично створена. Більш докладно про всі особливості роботи Mongoose спільно з Node можете прочитати в статті "Using MongooseJS in Node.js and MongoDB Applications".
GUI-інструмент Robomongo
Незважаючи на те, що працювати з MongoDB через командний рядок дуже просто, є дещо, що остаточно спрощує цей процес - Robomongo.
Завантажити можна звідси
Для того, щоб під'єднатися до бази даних, необхідно створити нове підключення з довільним ім'ям, в якому буде вказано localhost в якості адреси, а в якості порту - 27017.
![Нове підключення]
Тепер у вас є вбудований засіб для контролю за вашою базою даних і відповідними колекціями, але ніхто не забороняє вам паралельно використовувати командний рядок.
Висновки
MongoDB - чудова NoSQL база даних, яка швидко налаштовується, підключається до Node.js і дозволяє в найкоротші терміни приступати до розробки вашого застосування.
1206 8
Коментарі: