неділю, 22 березня 2020 р.

Коротко про MongoDb (noSQL)


MongoDb  - документоорієнтована нереляційна база даних. Якщо реляційні бази даних зберігають дані у вигляді взаємопов’язаних таблиць, то MongoDb зберігає дані у вигляді документів/об‘єктів у спеціальному JSON форматі. Наприклад один документ про особу може виглядати так:

{   
    "_id" : ObjectId("15"),
    "name" : "Mike",
    "age" : 45,
    "email" :
     "newem@ukr.net"
}



Встановити MongoDb можна з офіційного сайту www.mongodb.com. Де завантажуємо безкоштовний MongoDB Community Server. Додатково корисно завантажити спеціальний засіб для перегляду бази даних MongoDB Compass, який дозволяє переглядати вміст кожної колекції документів у вигляді списку об’єктів або у вигляді таблиці та здійснювати операції в графічному режимі, наприклад, редагування документів в БД.

Так можна отримати вигляд вмісту у такому вигляд:

 або ж так:

або ж так:





Запити до бази даних відрізняються від привичних SQL запитів.
Так запит вивести увесь зміст таблиці, що виглядає у SQL як:
SELECT * FROM stutents;
в MongoDb виглядатиме:
db.students.find();
Тут метод find() використовується для пошуку вмісту у колекції students.

Запит вивести всіх студентів з вказаним іменем і віком більше 23 років в SQL:
SELECT * FROM students WHERE firstName “Prosen” AND age>=23;

В MongoDB
db.students.find({
 "firstName": "Prosen",
 "age":{
  "$gte":23
 }
})

Для роботи з базою даних крім методу find() використовуються ще такі методи як update, updateOne, updateMany, replaceOne, replaceMany, bulkWrite, createIndex, count, sort, aggregate і т.п.

В mongoDb присутні ряд цікавих методів, які дозволяють попередньо обробити дані в колекції. Так наприклад можна порахувати скільки об'єктів міститься в колекції із значенням певного поля, наприклад, age:45.
db.users.count({age:45})
посортувати усі об’єкти за іменем можна так:
db.test.find({}).sort({"name":-1})
що означає посортувати всі документи по полю name по спаданню

Детальніше про запити можна почитати в безкоштовнійї книзі MongoDb Notes for Professionals.

Посиланя
*Книга MongoDb Notes for Professionals
*Вступні відеоуроки по MongoDb

Немає коментарів:

Дописати коментар