💻 Примеры
⚡ Кратко: суть занятия
MongoDB — документоориентированная база данных: данные хранятся не в строках таблиц, а в документах и коллекциях.
Источник противопоставляет MongoDB реляционным СУБД: нет таблиц с фиксированными столбцами, информация организована как документы.
Документ — набор пар ключ-значение, где значениями могут быть строки, числа, логические значения, массивы и вложенные документы.
Коллекция в MongoDB похожа на таблицу по роли контейнера, но может хранить документы разной структуры.
Каждый документ имеет уникальный идентификатор _id; если его не задать, MongoDB создаёт его автоматически.
Для управления и администрирования в курсе используется MongoDB Compass.
Топ-3 ошибки: ждать жёсткой схемы как в SQL, путать коллекцию с документом, удалять или дублировать _id.
Пример документа из источника
{
"_id": {
"$oid": "656e09ca5afc911a8a7ad576"
},
"CustomerID": "ALFKI",
"CompanyName": "Alfreds Futterkiste",
"ContactName": "Maria Anders",
"ContactTitle": "Sales Representative",
"Address": "Obere Str. 57",
"City": "Berlin",
"Region": null,
"PostalCode": 12209,
"Country": "Germany",
"Phone": "030-0074321",
"Fax": "030-0076545"
}
Здесь CustomerID, CompanyName, City и другие имена — ключи. Значения стоят после двоеточия. Region имеет значение null, то есть значение отсутствует.
Как читать документ
| Ключ | Значение | Тип |
|---|---|---|
CustomerID | ALFKI | Строка |
PostalCode | 12209 | Число |
Region | null | Отсутствующее значение |
_id | $oid | Идентификатор документа |
Минимальный запрос для Compass/mongosh
db.customers.find({ Country: 'Germany' })
Идея запроса: найти документы коллекции customers, где поле Country равно Germany.