3.06. MongoDB
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
MongoDB
Документ, Коллекция, База данных, _id и ObjectId.
что такое BSON и как он отличается от JSON.
CRUD-операции: Детально опишите методы insertOne, insertMany, updateOne, updateMany, deleteOne, deleteMany, findOne, find.
Запросы и курсоры: Как строить сложные запросы с операторами $gt, $lt, $in, $or, $and и т.д. Как работать с курсорами, ограничивать (limit), пропускать (skip) и сортировать (sort) результаты.
Зачем нужны индексы и как они работают.
Агрегация данных/ Объясните концепцию конвейеров (pipeline) и этапов ($match, $project, $group, $sort, $unwind).
что такое транзакции в MongoDB
★ MongoDB – документо-ориентированная БД. Документы хранятся в JSON-подобном формате (BSON, Binary JSON - бинарное представление JSON). Благодаря хранению данных в BSON и использованию индексов, MongoDB обеспечивает высокую скорость чтения и записи.Данные хранятся частично в кэше, частично на диске. В отличие от SQL, документ не придётся разбивать на несколько таблиц и можно изложить так:
{
"_id": "507f191e810c19729de860ea",
"name": "Виктор",
"age": 28,
"hobbies": ["гитара", "программирование"],
"address": {
"city": "Москва",
"street": "Ленина, 42"
}
}
Это применимо для соцсетей (посты, комментарии), каталогов товаров интернет-магазина, логов и аналитики.
MongoDB не требует строгой схемы данных, что позволяет легко адаптироваться к изменениям в структуре данных. Также MongoDB может обрабатывать большие объёмы данных и высокие нагрузки и поддерживает горизонтальное масштабирование через шардирование (разделение данных между несколькими серверами), а также позволяет выполнять репликацию данных на несколько серверов через Replica Sets.
Каждый документ имеет уникальный идентификатор _id, который автоматически генерируется MongoDB, если не указан явно.
База данных MongoDB содержит одну или несколько коллекций.
Коллекция — это группа документов, аналог таблицы в реляционных базах данных. Коллекции могут содержать документы с разной структурой (схема не фиксирована).
Установка и развёртывание:
- скачать MongoDB с официального сайта;
- запустить сервер командой «mongod»;
- подключиться через консоль - «mongo».
Администрирование производится через GUI (графический интерфейс):
- MongoDB Compass (официальный);
- Robo 3T (альтернативный).
MongoDB поддерживает аутентификацию и авторизацию пользователей. Можно настроить контроль доступа (RBAC — Role-Based Access Control) и включать SSL/TLS для шифрования данных при передаче.
В языках программирования есть специальные фреймворки и библиотеки для работы (Mongoose, PyMongo, Spring Data MongoDB и т.д.).
Официальный сайт MongoDB - https://www.mongodb.com/
Чит-лист - https://cheatsheets.zip/mongodb