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

Что важно знать в двух строках
- База данных (database) — самый верхний уровень. Коллекции (collections) внутри базы хранят документы JSON/BSON.
- Новая база данных появится в интерфейсе только после того, как вы добавите хотя бы одну коллекцию или вставите документ.
Быстрое определение терминов
- База данных: логическая область хранения данных.
- Коллекция: набор документов (аналог таблицы в SQL).
- Документ: JSON-подобный объект (аналог строки/записи в таблице).
- mongosh: интерактивная оболочка MongoDB.
- MongoDB Compass: официальный GUI-клиент для MongoDB.
Первичная настройка MongoDB
Вы можете создавать базы и коллекции двумя основными способами:
- Через MongoDB Shell (mongosh) — текстовая оболочка для выполнения команд.
- Через MongoDB Compass — графический интерфейс для управления базами и коллекциями.
Установите mongosh с официальной страницы загрузки MongoDB Tools или скачайте MongoDB Compass из той же секции загрузок. Compass удобен, если вы предпочитаете визуальную работу: он показывает список баз и коллекций и позволяет создать их через форму.
Доступ к mongosh внутри MongoDB Compass
Если вы хотите открыть mongosh прямо в интерфейсе Compass (вместо отдельного приложения):
- Установите и запустите MongoDB Compass.
- Подключитесь к вашему серверу или кластеру (кнопка Connect).
- В левом нижнем углу интерфейса нажмите вкладку >_MONGOSH.
- Потяните вверх три горизонтальные полосы внизу окна, чтобы развернуть область оболочки.
Создание базы данных и коллекции в 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, выполните следующие шаги:
- Запустите MongoDB Compass и подключитесь (кнопка Connect).
- В левом верхнем углу интерфейса нажмите CREATE DATABASE.
- В поле Database Name введите желаемое имя базы.
- В поле Collection Name введите имя первой коллекции — MongoDB требует хотя бы одну коллекцию для окончательного создания базы.
- Нажмите Create Database.
После создания вы увидите новую базу и коллекцию в левой боковой панели 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) для создания базы в продакшн
- Создать в репозитории описание схемы (JSON Schema или описание полей).
- Выполнить проверку безопасности и прав доступа.
- На тестовой среде выполнить команды:
use,db.createCollection,insertOne. - Прогнать автотесты вставки и чтения.
- Выполнить бэкап конфигурации и создать мониторинг.
- Развернуть в продакшн через автоматизированный 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([{...}, {...}])Похожие материалы
Отключить звук запуска Windows 11
Восстановление удалённых файлов в Microsoft Teams
Купить биткойн на Paxful — P2P руководство
Исправление Dev Error 6328 в Modern Warfare
Боковая панель в Windows 11/10 — как вернуть sidebar