Маленькая книга о MongoDB

Обложка Маленькой книги о MongoDB Карла Сегина

Маленькая книга о MongoDB — введение в документы, запросы, обновления и моделирование данных. Автор — Karl Seguin, перевод — @jsmarkus. Читайте по порядку: введение, основы, обновление, выборки, моделирование, выбор MongoDB, агрегирование, инструментарий.

Условия использования и участники перевода. Книга доступна для некоммерческого чтения по CC BY-NC 3.0.

Как читать книгу

Для упражнений нужны базовое понимание JavaScript-объектов, установленная MongoDB и оболочка mongosh. Создайте отдельную базу learn: в примерах есть удаление документов и полная замена содержимого. Если задача только познакомиться с моделью данных, сначала прочитайте введение и главу о моделировании, а команды попробуйте позже на учебном наборе.

  1. Введение — что такое документная база, чем драйвер приложения отличается от оболочки и как подготовить локальное окружение.
  2. Основы — база, коллекция, документ, _id, вставка и фильтры. Здесь создаётся набор единорогов, который используется в следующих упражнениях.
  3. Обновление — разница между полной заменой и изменением полей, $set, $inc, $push, upsert и массовая запись.
  4. Осваиваем Find — проекция полей, курсор, сортировка, пагинация и точный подсчёт документов. Полезно перед проектированием списка в приложении.
  5. Моделирование данных — когда встраивать данные, когда хранить ссылку, как учитывать $lookup и размер документа. Примеры связей сотрудников и менеджеров показывают компромиссы модели.
  6. Когда использовать MongoDB — выбор хранилища, подтверждение записи, устойчивость, транзакции, поиск и геоданные. Это критерии решения, а не обещание выигрыша для любого проекта.
  7. MapReduce и агрегирование — построение дневного отчёта просмотров, ключ группировки и свёртка. Поддерживаемый pipeline решает ту же задачу, что исторический пример MapReduce.
  8. Производительность и инструментарий — создание индекса, чтение плана запроса, профилирование и учебное резервное копирование с проверкой восстановления.
  9. Заключение — небольшой проект для закрепления и следующий шаг к драйверу приложения.

Если пришли с конкретной задачей

Нужно изменить одно поле, сохранив остальные? Начните с главы об обновлении. Страница списка показывает только часть полей или сортирует нестабильно? Откройте главу Find. Документ растёт вместе со всеми комментариями? Сначала изучите моделирование, а не добавляйте индекс наугад. Медленный запрос уже существует? Перейдите к индексу и explain, сохранив исходный запрос для сравнения.

У книги есть страница авторства, переводчиков и лицензии. Сохранённый номер главы позволяет сопоставлять старые ссылки с нужной темой; дополнительные упражнения связаны с тем же учебным набором данных.

Дальше в книгеАвторы и лицензия →
Karl Seguin · перевод @jsmarkus · CC BY-NC 3.0 и авторы