Что это простыми словами

MongoDB — это хранилище данных, где информацию можно складывать более свободно, чем в обычных базах данных.

Аналогия: представьте два способа хранить документы. Первый — строгий архив с папками и бланками одного формата: в каждом бланке поля фамилия, имя, дата рождения. Если у человека два телефона, а в бланке одно поле — проблема. Второй способ — свободные полки, куда можно положить что угодно: у одного досье тонкое, у другого толстое, у третьего к нему степлером прикреплена фотография. Обычные базы данных — это архив с бланками, а MongoDB — полки, где каждая запись может иметь свою структуру.

Разработчики выбирают MongoDB, когда данные меняются часто или у них нет единого жёсткого формата.

Официальное определение

Теперь, когда суть понятна, вот как MongoDB описывают в вакансиях и документации. Эту формулировку вы будете встречать в резюме backend-разработчиков.

«MongoDB — документо-ориентированная NoSQL база данных, хранящая данные в формате JSON-подобных документов без жёсткой схемы».

Разберём по словам. «База данных» — программа, которая хранит информацию приложения: пользователей, заказы, товары. «NoSQL» — подход, когда данные хранятся не в строгих таблицах, а более свободно. «Документо-ориентированная» — каждая запись (документ) может иметь свой набор полей, как отдельный файл. «JSON-подобный формат» — данные записываются так же, как разработчики пишут код: скобки, ключи и значения. «Без жёсткой схемы» — не нужно заранее описывать, какие поля будут у каждой записи, можно добавлять их на ходу.

Какую задачу решает

Когда вы регистрируетесь на сайте, ваши данные нужно где-то хранить. Обычные базы данных требуют, чтобы структура была задана заранее: столбец имя, столбец email, столбец телефон. Если вдруг понадобилось добавить поле «второй телефон» — нужно менять всю таблицу, а это сложно и рискованно.

MongoDB позволяет обойти это ограничение: у одного пользователя может быть один телефон, у другого — массив из трёх, у третьего — вообще нет этого поля. Разработчику не нужно переделывать всю базу, он просто начинает записывать данные в новом формате.

Это особенно удобно на старте проекта, когда требования меняются каждую неделю, или когда данные приходят из разных источников в разных форматах.

Кто им пользуется

MongoDB — не язык программирования и не фреймворк, это инструмент для хранения данных. Он ни к какому языку не привязан: с MongoDB работают на Python, JavaScript, Java, C# и других языках.

Роли, которые с ней работают:

В вакансии backend-разработчика MongoDB обычно указана в разделе технологий вместе с языком программирования, который использует команда.

Аналоги / чем заменяется

MongoDB решает ту же задачу, что и другие базы данных, но по-разному:

Переход между базами данных дорогой и сложный: нужно переписать код, который работает с данными, и перенести сами данные. Это не делают просто так.

При этом человек, который работал с PostgreSQL, понимает общие принципы баз данных и сможет освоить MongoDB, хоть и не за один день. Обратное тоже верно.

Что не путать

Насколько это важно при отборе

Короткий ответ: зависит от проекта и уровня позиции.

Когда MongoDB — жёсткое требование:

Когда MongoDB не критична:

Отсеивать сильного backend-разработчика только потому, что он работал с PostgreSQL, а не с MongoDB — частая ошибка. База данных — это инструмент, и опытный разработчик освоит новый инструмент быстрее, чем новичок с MongoDB в резюме научится писать хороший код.

При этом если в резюме вообще нет опыта работы с базами данных — это красный флаг для backend-разработчика. Работа с данными — ядро его работы.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.