📖 Теория
⚡ Кратко: суть занятия
MongoDB — документоориентированная база данных: данные хранятся не в строках таблиц, а в документах и коллекциях.
Источник противопоставляет MongoDB реляционным СУБД: нет таблиц с фиксированными столбцами, информация организована как документы.
Документ — набор пар ключ-значение, где значениями могут быть строки, числа, логические значения, массивы и вложенные документы.
Коллекция в MongoDB похожа на таблицу по роли контейнера, но может хранить документы разной структуры.
Каждый документ имеет уникальный идентификатор _id; если его не задать, MongoDB создаёт его автоматически.
Для управления и администрирования в курсе используется MongoDB Compass.
Топ-3 ошибки: ждать жёсткой схемы как в SQL, путать коллекцию с документом, удалять или дублировать _id.
MongoDB как база документов
Источник определяет MongoDB как систему управления базами данных с документоориентированной моделью. Она может быть установлена локально или размещена в облаке.
В реляционных базах данные организованы в таблицы и строки. В MongoDB центральные понятия — документ и коллекция.
| Реляционная модель | MongoDB | Смысл |
|---|---|---|
| База данных | База данных | Контейнер верхнего уровня |
| Таблица | Коллекция | Набор документов |
| Строка | Документ | Одна запись/объект |
| Столбец | Поле | Пара ключ-значение внутри документа |
Свойства из источника
- Кроссплатформенность: продукт устанавливается на разные операционные системы.
- Формат хранения: BSON, то есть Binary JavaScript Object Notation.
- Документы: хранят ключи и значения.
- Коллекции: содержат наборы документов.
- Репликация, индексация, GridFS, специальные запросы, балансировка нагрузки и облачное решение.
Документ и _id
Документ хранит пары ключ-значение. Внутри одной коллекции у документа должен быть уникальный идентификатор _id. Источник подчёркивает, что он создаётся автоматически, но разработчик может задать его явно.