Введення у веб-розробку
  • Передмова
  • Починаємо
    • Вступ
    • TCP/IP протокол
    • HTTP
    • Веб-браузер
    • Веб-сервер
    • Cookies
    • Фронтенд і бекенд
    • Фреймворки
    • Редактори коду
    • Emmet
  • Git
    • Короткий опис
    • Базові Git-команди
  • HTML
    • Короткий опис
    • Теги і атрибути
    • Структура HTML-документу
    • HTML-файли
  • CSS
    • Короткий опис
    • Додавання CSS до HTML-документу
    • CSS-препроцесори
  • JavaScript
    • Короткий опис
    • Що таке ECMAScript?
    • Document Object Model
    • AJAX, JSON
    • Інструменти для збірки
    • Node.js
    • npm
  • PHP
    • Короткий опис
    • Середовище для розробки
  • MySQL
    • Короткий опис
    • Інструменти управління базами даних
  • MongoDB
    • Короткий опис
    • MongoDB shell
    • MongoDB GUI
    • Вибірка і сортування
    • Індекси
  • Linux
    • Короткий опис
  • Windows
    • Windows 10 підсистема для Linux
    • Chocolatey
    • Покращена консоль
  • Що далі?
    • Фронтенд
    • Бекенд
Powered by GitBook
On this page
  1. MongoDB

Короткий опис

Крім хорошого розуміння реляційних баз даних (наприклад, MySQL або PostgreSQL), розробник повинен знати про NoSQL (зазвичай розшифровується як "non SQL", "non relational" чи "не тільки SQL") бази даних, такі як Cassandra, MongoDB, Redis тощо.

Ми зупинимось на MongoDB — дуже популярна Open Source система керування базами даних, в якій дані зберігаються як колекції (групи) документів. Документи представлені в людино-зрозумілому формат JSON (JavaScript Object Notation).

Для зберігання документів "поза сценою" (внутрішні механізми) MongoDB використовує формат Binary JSON (BJON).

Розглянемо типовий запис з MongoDB колекції

{
        "_id" : ObjectId("59906c1b728a58253969ffc2"),
        "acts" : [
                "організатор Хмельниччини",
                "засновник держави Війська Запорозького"
        ],
        "birthYear" : 1595,
        "name" : "Богдан",
        "surname" : "Хмельницький"
}

Фігурні дужки {...} позначають об'єкт, який містить ключі і значення, а квадратні дужки [...] — лінійний масив. Значення полів можуть бути вкладеними і їх глибина не обмежена.

Системне поле _id генерується автоматично, є унікальним і має тип ObjectId. Об'єкт ObjectId займає 12 байтів і складається з

  • часової мітки,

  • ідентифікатора клієнтської машини,

  • ідентифікатора клієнтського процесу,

  • лічильника, який збільшується.

В MongoDB різні документи однієї і тієї ж колекції можуть мати різні поля і типи — не має однієї схеми для всіх:

{
        "_id" : ObjectId("59906c79728a58253969ffc3"),
        "name" : "Іван",
        "surname" : "Виговський",
        "birthYear" : 1608
}
{
        "_id" : ObjectId("59906c1b728a58253969ffc2"),
        "acts" : [
                "організатор Хмельниччини",
                "засновник держави Війська Запорозького"
        ],
        "birthYear" : 1595,
        "name" : "Богдан",
        "surname" : "Хмельницький"
}

Зверніть увагу на поле acts, якого нема в першому документі.

PreviousІнструменти управління базами данихNextMongoDB shell

Last updated 6 years ago