Как работать с MongoDB Shell (mongosh)

Что такое MongoDB Shell

Официальная оболочка mongosh - это современный интерфейс командной строки для работы с MongoDB. Она работает поверх Node.js, что даёт следующие преимущества:

  • расширенное автодополнение команд;

  • форматированный и читабельный вывод;

  • выполнение JavaScript прямо в сессии;

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

Важно: устаревший mongo-шелл больше не поддерживается и рекомендуется использовать именно mongosh.

Предварительные требования

Чтобы следовать рекомендациям из этой статьи, вам понадобится:

  • сервер с установленной MongoDB (например, на Ubuntu или другом Linux);

  • базовые навыки работы с терминалом;

  • если включена аутентификация то действующие учётные данные пользователя;

  • базовое понимание структуры MongoDB.

Подключение к серверу MongoDB

Локальное подключение

Если MongoDB работает на той же машине и слушает стандартный порт 27017, то подключиться очень просто:

mongosh

По умолчанию это попытка подключения к:

mongodb://127.0.0.1:27017

Если подключение прошло успешно, консоль покажет приветственное сообщение с версией сервера, адресом подключения и текущим контекстом базы данных.

Подключение с аутентификацией

Если на сервере включена авторизация, запускать оболочку нужно так:

mongosh --username <пользователь> --authenticationDatabase admin

После ввода команды система запросит пароль.

Современный и более явный способ использовать connection string, например:

mongosh "mongodb://<user>@localhost:27017/admin"

Это особенно удобно и прозрачно.

Подключение к удалённому серверу

Чтобы подключиться к серверу MongoDB, работающему на другой машине, добавьте флаги --host и --port:

mongosh --host db.example.com --port 27017

А если сервер требует аутентификации и защищён TLS/SSL, то лучше использовать строку подключения с явным указанием всех параметров.

Основные команды оболочки

Текущая база данных

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

db

Если вы впервые подключились и не указывали другую базу, по умолчанию это будет test.

Переключение между базами

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

use fruits

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

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

  • Посмотреть все базы данных:

show dbs
  • Посмотреть коллекции в текущей базе:

show collections

Если база пустая, команды могут не показать ничего и это нормально.

Вставка и чтение данных

Чтобы создать документ в коллекции apples в базе fruits, выполните:

db.apples.insertOne({ name: 'Red Delicious' })

Это не только вставит документ, но и автоматически создаст базу и коллекцию, если их ещё нет.

Чтобы посмотреть, что находится в коллекции:

db.apples.find()

Shell выведет список документов, например:

{ _id: ObjectId("..."), name: "Red Delicious" }

Справка и автодополнение

Оболочка содержит встроенную помощь. Просто введите:

help

Вы увидите список команд и подсказки по основным операциям. Кроме того, автодополнение работает как в популярных оболочках (например, Bash): после ввода части слова нажмите TAB, чтобы увидеть возможные варианты и автоматически дополнить слово.

Например:

db.ap

и нажатие TAB покажет db.apples.

MongoDB Shell (mongosh) - это основное средство для интерактивной работы с базой данных изучив основы которого, вы сможете использовать mongosh как инструмент для оперативной работы, автоматизации задач и моделирования сценариев с MongoDB, а также перейдёте к более сложным операциям CRUD, агрегациям и управлению производительностью.

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Как использовать файл .htaccess в Apache

Подробное руководство по использованию файла .htaccess в Apache. Рассматриваются способы включения файла, его создание и основные сценарии применения: редиректы, защита директорий, пользовательские ошибки и MIME-типы.

Как правильно хранить деньги в коде: без потерь, округлений и боли

Как правильно хранить денежные значения в базе данных и коде. Сравниваем целые минорные единицы и Decimal, объясняем, почему float использовать нельзя.

Как добавить SSH-ключ в аккаунт GitHub

Подробное руководство по добавлению SSH-ключа в аккаунт GitHub: генерация ключа, его добавление в агент, копирование и регистрация на сайте GitHub. Практические шаги для безопасного подключения к репозиториям без пароля.

Как ускорить Laravel-приложение: параллельные API-запросы через Http::pool и Http::batch

Статья объясняет, как ускорить Laravel-приложения, выполняя API-запросы параллельно с помощью Http::pool и Http::batch. Приводятся практические примеры, обработка ответов и советы по таймаутам.