Гид по технологиям

Создание базы данных и коллекций в MongoDB

6 min read Базы данных Обновлено 02 Jan 2026
Создание базы и коллекций в MongoDB
Создание базы и коллекций в MongoDB

3D-графика: значок базы данных, символизирующий ввод данных

Что важно знать в двух строках

  • База данных (database) — самый верхний уровень. Коллекции (collections) внутри базы хранят документы JSON/BSON.
  • Новая база данных появится в интерфейсе только после того, как вы добавите хотя бы одну коллекцию или вставите документ.

Быстрое определение терминов

  • База данных: логическая область хранения данных.
  • Коллекция: набор документов (аналог таблицы в SQL).
  • Документ: JSON-подобный объект (аналог строки/записи в таблице).
  • mongosh: интерактивная оболочка MongoDB.
  • MongoDB Compass: официальный GUI-клиент для MongoDB.

Первичная настройка MongoDB

Вы можете создавать базы и коллекции двумя основными способами:

  1. Через MongoDB Shell (mongosh) — текстовая оболочка для выполнения команд.
  2. Через MongoDB Compass — графический интерфейс для управления базами и коллекциями.

Установите mongosh с официальной страницы загрузки MongoDB Tools или скачайте MongoDB Compass из той же секции загрузок. Compass удобен, если вы предпочитаете визуальную работу: он показывает список баз и коллекций и позволяет создать их через форму.

Доступ к mongosh внутри MongoDB Compass

Если вы хотите открыть mongosh прямо в интерфейсе Compass (вместо отдельного приложения):

  1. Установите и запустите MongoDB Compass.
  2. Подключитесь к вашему серверу или кластеру (кнопка Connect).
  3. В левом нижнем углу интерфейса нажмите вкладку >_MONGOSH.
  4. Потяните вверх три горизонтальные полосы внизу окна, чтобы развернуть область оболочки.

Вкладка Mongosh в интерфейсе MongoDB Compass

Создание базы данных и коллекции в mongosh (шаги и примеры)

mongosh принимает последовательность команд. Примеры ниже — минимально достаточные для создания базы, коллекции и добавления документа.

1. Выберите или создайте базу данных

В оболочке выполните:

use mynewdatabase

Команда выбирает базу данных с именем mynewdatabase. Если такой базы ещё не было, MongoDB назначит её текущей, но на диске/в интерфейсе она появится только после создания коллекции или вставки документа.

2. Создайте коллекцию

Чтобы создать пустую коллекцию вручную:

db.createCollection("MUO")

Где “MUO” — имя создаваемой коллекции. Вы можете создать любое количество коллекций, аналогично созданию таблиц в SQL.

3. Вставьте документ

Документы в MongoDB — объекты с парами ключ:значение (JSON/BSON). Пример вставки одного документа:

db.MUO.insertOne({ FirstName: "Idowu" })

После вставки коллекция и база станут видимыми в MongoDB Compass и при вызове show dbs.

Быстрый чек-лист команд (cheat sheet)

use mynewdatabase           # выбрать/создать базу
show dbs                   # показать базы (отобразятся только с коллекциями)
show collections           # список коллекций в текущей базе
db.createCollection("name")  # создать пустую коллекцию
db.name.insertOne({...})   # вставить документ
db.name.insertMany([{...}, {...}])  # вставить несколько документов

Создание базы и коллекций в MongoDB Compass (GUI)

Если вы предпочитаете GUI, выполните следующие шаги:

  1. Запустите MongoDB Compass и подключитесь (кнопка Connect).
  2. В левом верхнем углу интерфейса нажмите CREATE DATABASE.
  3. В поле Database Name введите желаемое имя базы.
  4. В поле Collection Name введите имя первой коллекции — MongoDB требует хотя бы одну коллекцию для окончательного создания базы.
  5. Нажмите Create Database.

Кнопка создания базы данных в MongoDB Compass

После создания вы увидите новую базу и коллекцию в левой боковой панели Compass. При необходимости обновите список через кнопку “обновить” (иконка с круговой стрелкой).

Окно создания базы данных и коллекции в MongoDB Compass

Когда база не появляется: распространённые причины и решения

  • Причина: вы выполнили use mynewdatabase, но не создали коллекцию.
    Решение: вызовите db.createCollection("name") или вставьте документ через insertOne.

  • Причина: у вас нет прав на создание базы/коллекции (ограничения RBAC).
    Решение: проверьте привилегии пользователя, обратитесь к администратору или создайте пользователя с нужными ролями.

  • Причина: подключение к другому кластеру/инстансу, не тому, где вы создаёте.
    Решение: проверьте строку подключения и адрес сервера в Compass или переменные окружения приложения.

Альтернативные подходы и миграция

  • Если вам привычнее реляционная модель, рассмотрите PostgreSQL или MySQL.
  • Для распределённых CouchDB/CRDT-подходов — CouchDB или Couchbase.
  • При миграции с SQL на MongoDB полезно сначала определить ментальные модели данных: агрегируйте связанные таблицы в документы, оцените денормализацию и частоту обновлений.

Миграционные советы:

  • Составьте карту соответствия полей (SQL -> MongoDB).
  • Решите, где выгодна денормализация, а где — ссылка на другую коллекцию (референс).
  • Протестируйте производительность на выборке данных.

Ментальные модели (как думать о MongoDB vs SQL)

  • База данных = экземпляр/контейнер для наборов данных (как схема в некоторых СУБД).
  • Коллекция = таблица (но без фиксированной схемы).
  • Документ = строка/запись, но может содержать вложенные объекты и массивы.

Эти модели помогают при проектировании: если у сущностей часто меняется структура — MongoDB подходит лучше; если строгие транзакции и сложные JOIN — реляционная СУБД может быть предпочтительнее.

Роль‑ориентированные чек‑листы

Developer:

  • Выбрать имя базы и коллекции по соглашению об именах.
  • Создать коллекцию в тестовом окружении.
  • Вставить пример документа и проверить schema preview в Compass.

DBA / DevOps:

  • Убедиться, что пользователю назначены минимальные привилегии.
  • Настроить бэкапы и мониторинг.
  • Проверить, что сеть и firewall разрешают подключение только доверенным адресам.

Product Owner / PM:

  • Утвердить структуру данных и требования к хранению PII.
  • Оценить необходимость шардирования и резервирования.

Безопасность и приватность

  • Включайте аутентификацию и используйте роли (RBAC).
  • Ограничивайте доступ по IP и используйте TLS для сетевого трафика.
  • Не храните персональные данные без юридического основания; применяйте шифрование на уровне приложения или хранилища при необходимости.
  • Для соответствия GDPR: документируйте цели обработки, минимизируйте хранимые поля, реализуйте процедуры удаления данных по запросу.

Краткий плейбук (SOP) для создания базы в продакшн

  1. Создать в репозитории описание схемы (JSON Schema или описание полей).
  2. Выполнить проверку безопасности и прав доступа.
  3. На тестовой среде выполнить команды: use, db.createCollection, insertOne.
  4. Прогнать автотесты вставки и чтения.
  5. Выполнить бэкап конфигурации и создать мониторинг.
  6. Развернуть в продакшн через автоматизированный pipeline.

Тестовые сценарии и критерии приёмки

Критерии приёмки:

  • База появляется в Compass после создания коллекции.
  • Вставленный документ читается командой db.MUO.findOne() и содержит ожидаемые поля.
  • Пользователь с ролями чтения не может создать коллекцию; пользователь с ролью dbOwner может.

Примеры тестов:

  • Тест 1: Выполнить use testdb, db.test.insertOne({a:1}), затем show dbs — база должна отображаться.
  • Тест 2: Попытка создать коллекцию без прав — получить ошибку авторизации.

Шаблон принятия решения: когда выбирать MongoDB

  • Хорошо подходит: гибкая схема, вложенные структуры, быстрый прототип, горизонтальное масштабирование.
  • Менее подходяще: сложные ACID-транзакции между множеством сущностей, частые JOIN-операции над большими наборами данных.

Сопутствующие команды и советы по производительности

  • Для больших вставок используйте insertMany() вместо множества insertOne().
  • Индексы: создавайте индексы на полях, по которым выполняются запросы и сортировки.
  • Мониторинг: используйте MongoDB Cloud или встроенные инструменты для отслеживания производительности.

1‑строчный глоссарий

  • Database — контейнер коллекций; Collection — набор документов; Document — JSON/BSON объект; mongosh — CLI; Compass — GUI.

Заключение

Создать базу и коллекцию в MongoDB просто: либо через mongosh (команды use, db.createCollection, insertOne), либо через MongoDB Compass (Create Database + имя коллекции). В продакшн важно обратить внимание на права доступа, бэкапы, индексацию и соответствие требованиям приватности.

Рекомендуется: сначала моделировать данные и провести тесты на небольшой выборке, затем автоматизировать создание через скрипты и CI/CD.


Полезные команды (сводка):

use mynewdatabase
show dbs
show collections
db.createCollection("name")
db.name.insertOne({key: "value"})
db.name.insertMany([{...}, {...}])
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Отключить звук запуска Windows 11
Windows

Отключить звук запуска Windows 11

Восстановление удалённых файлов в Microsoft Teams
IT

Восстановление удалённых файлов в Microsoft Teams

Купить биткойн на Paxful — P2P руководство
Криптовалюта

Купить биткойн на Paxful — P2P руководство

Исправление Dev Error 6328 в Modern Warfare
Игры

Исправление Dev Error 6328 в Modern Warfare

Боковая панель в Windows 11/10 — как вернуть sidebar
Windows

Боковая панель в Windows 11/10 — как вернуть sidebar

Изменить размер миниатюр в Vivaldi
браузер

Изменить размер миниатюр в Vivaldi