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

Как создать базу данных и коллекции в MongoDB

6 min read Базы данных Обновлено 09 Apr 2026
Создать базу и коллекции в MongoDB
Создать базу и коллекции в MongoDB

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

Введение

MongoDB хранит данные в коллекциях, а коллекции организованы внутри баз данных. В отличие от реляционных СУБД, где физическое существование базы данных часто фиксировано, в MongoDB база данных становится видимой (и «создаётся» в интерфейсе), когда в ней появляется хотя бы одна коллекция и/или документ.

Это руководство проведёт вас по всем шагам: установка инструментов, создание базы и коллекций через mongosh, создание через MongoDB Compass, вставка документов, рекомендации по безопасности и контрольные списки для разных ролей.

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

Что нужно установить:

  • mongosh — современная командная оболочка MongoDB. Скачайте с официальной страницы загрузок MongoDB Tools.
  • MongoDB Compass — настольное приложение с графическим интерфейсом.

Если вы предпочитаете не вводить команды вручную, используйте MongoDB Compass. Если хотите автоматизировать и писать сценарии — пользуйтесь mongosh или драйверами для вашего языка.

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

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

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

Вкладка Mongosh в MongoDB Compass

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

Как создать базу данных и коллекции через MongoDB Shell (mongosh)

mongosh принимает последовательность текстовых команд. Примерный рабочий процесс:

Создание базы данных

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

use mynewdatabase

Команда переключает вашу текущую сессию на базу mynewdatabase. В MongoDB сама база не появится в списке до тех пор, пока вы не создадите коллекцию или не вставите документ.

Создание коллекции

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

db.createCollection('MUO')

Где ‘MUO’ — имя коллекции. Вы можете создавать любые имена, соблюдая ограничения на символы и длину.

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

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

Пример вставки одного документа в коллекцию MUO:

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

Пример вставки нескольких документов:

db.MUO.insertMany([
  { FirstName: 'Idowu', Age: 30 },
  { FirstName: 'Anna', Age: 27 }
])

Просмотр баз данных и коллекций

  • Показать все базы:
show dbs
  • Показать коллекции в текущей базе:
show collections
  • Переключиться на базу и проверить документы:
use mynewdatabase
db.MUO.find().pretty()

Как создать базу и коллекции через MongoDB Compass (GUI)

  1. Запустите MongoDB Compass и подключитесь к серверу/кластеру.
  2. Нажмите Connect, чтобы загрузить список существующих баз.
  3. В левом верхнем углу нажмите CREATE DATABASE.

Кнопка CREATE DATABASE в MongoDB Compass

  1. В поле Database Name укажите имя базы данных.
  2. В поле Collection Name укажите имя начальной коллекции (MongoDB требует хотя бы одну коллекцию для создания).
  3. Нажмите Create Database.

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

Обновите левую панель (иконка обновления), чтобы увидеть новую базу. Нажмите базу в боковой панели, чтобы просматривать и управлять коллекциями.

Ментальная модель: как думать о MongoDB

  • База данных — логическая группа данных (аналог схемы в SQL).
  • Коллекция — набор документов, аналог таблицы, но без строгой схемы.
  • Документ — единица данных в формате BSON (похож на JSON), где каждое поле — пара ключ‑значение.

Эта модель помогает понять, почему создание коллекции делает базу «видимой» — MongoDB ориентирован на документы, а не на заранее описанные таблицы.

Когда создание может «не сработать» — типичные ошибки и решения

  • «База не отображается в Compass» — убедитесь, что в базе есть коллекция или хотя бы один документ; иначе база может не появляться в списке.
  • Ошибка прав доступа — проверьте пользователя и разрешения: для создания баз/коллекций нужны соответствующие роли (dbAdmin, readWrite и т.д.).
  • Нестандартные символы в имени коллекции приводят к ошибке; используйте простые имена.

Важно: при подключении к удалённому кластеру через Compass возможно, что сетевые правила (IP whitelist) блокируют соединение.

Альтернативные подходы к созданию коллекций

  • Использовать драйверы для языка приложения (Node.js, Python, Java). Примеры:
    • Node.js: при первой вставке коллеция создастся автоматически через MongoClient.
    • Python (pymongo): db.create_collection(‘name’) либо вставка документа.
  • Использовать MongoDB Atlas UI для создания баз/коллекций в облаке.
  • Деплой через инфраструктурный код: Terraform + MongoDB Atlas provider.

Каждый подход подходит для разных задач: ручной ввод — для тестов; драйверы — для CI/CD и приложений; Atlas UI — для управления облачными кластерами.

Безопасность и харднинг при создании баз

  • Никогда не запускайте MongoDB с дефолтными настройками аутентификации в production.
  • Создайте пользователей с минимальными правами: принцип наименьших привилегий.
  • Ограничьте доступ по IP, используйте шифрование трафика TLS/SSL.
  • Настройте резервное копирование и план восстановления.

Короткий чеклист безопасности:

  • Включена аутентификация
  • У пользователей минимально необходимые роли
  • Включён TLS для сетевого трафика
  • Настроено резервное копирование

SOP: Быстрая процедура для создания базы и коллекции (оперативная инструкция)

  1. Подключитесь к серверу через mongosh или MongoDB Compass.
  2. План: определить имя базы и начальной коллекции.
  3. В mongosh выполнить:
use mynewdatabase
db.createCollection('MUO')

Или, если вставляете первый документ сразу:

db.MUO.insertOne({ createdAt: new Date(), createdBy: 'admin' })
  1. Проверить наличие базы:
show dbs
  1. Назначить права доступа (если необходимо):
db.createUser({ user: 'appuser', pwd: 'securePassword', roles: [ { role: 'readWrite', db: 'mynewdatabase' } ] })
  1. Документировать имя базы и ответственных в системе управления конфигурацией.

Ролевые чеклисты

Администратор:

  • Создать базу, назначить роли, настроить бэкап.

Разработчик:

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

DevOps:

  • Автоматизировать создание в CI/CD, настроить мониторинг и оповещения.

Примеры полезных команд/шаблонов (cheat sheet)

  • Создать базу и коллекцию:
use analytics
db.createCollection('events')
  • Вставить документ с индексируемым полем:
db.events.insertOne({ type: 'click', userId: 'u123', ts: new Date() })
  • Создать индекс:
db.events.createIndex({ userId: 1 })
  • Удалить коллекцию (опасная операция):
db.events.drop()

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

  • База данных видна в MongoDB Compass после создания коллекции.
  • Коллекция появилась и принимает документы (insertOne/insertMany проходит без ошибок).
  • Права доступа корректны (пользователи имеют только нужные роли).
  • Для production: настроены TLS и резервное копирование.

Миграция и совместимость

  • При миграции реляционной схемы в MongoDB подумайте о структуре документов: вложенные объекты часто удобнее, чем множество связанных коллекций.
  • Проверьте совместимость драйверов: версии драйверов и сервера MongoDB должны быть совместимы.

Небольшая методология: как планировать структуру данных

  1. Определите операции чтения/записи и частоту обновлений.
  2. Решите: денормализовать (вложенные документы) или нормализовать (несколько коллекций).
  3. Добавьте индексы под основные запросы.
  4. Тестируйте на объёмах, приближённых к production.

1‑строчный словарь

  • BSON — бинарный формат представления JSON-подобных документов.
  • Коллекция — набор документов внутри базы.
  • Документ — структура данных (ключ‑значение), аналог строки в таблице.

Итог и рекомендации

MongoDB упрощает создание баз и коллекций: можно явно создать коллекцию через db.createCollection или позволить MongoDB создать её при первой вставке документа. Используйте mongosh для автоматизации и Compass для инспекции и быстрой настройки. Обязательно настройте безопасность и минимальные права пользователей перед переводом в production.

Важно: тестируйте структуру документов и индексы на реальных объёмах данных, чтобы избежать проблем с производительностью.

Краткие рекомендации:

  • Для быстрых тестов используйте Compass.
  • Для автоматизации — mongosh и драйверы.
  • Для production — настраивайте роли, TLS и бэкапы.

Краткое резюме

  • MongoDB хранит данные в базах и коллекциях; коллекция делает базу видимой.
  • Создать базу можно через use и db.createCollection('').
  • MongoDB Compass позволяет создать базу и коллекцию в пару кликов.
  • Следите за правами, шифрованием и резервным копированием перед продакшеном.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Массивы в Bash: синтаксис и примеры
Программирование

Массивы в Bash: синтаксис и примеры

Сбросить страницу «Для вас» в TikTok
Социальные сети

Сбросить страницу «Для вас» в TikTok

Создать GIF из YouTube — GIFs.com
Руководство

Создать GIF из YouTube — GIFs.com

Как сделать карусель Instagram в InDesign
Дизайн

Как сделать карусель Instagram в InDesign

Как объединить PDF на Mac
Mac

Как объединить PDF на Mac

Как примерить тату в Photoshop
Дизайн

Как примерить тату в Photoshop