Mongodb compass что это
Для Windows нам доступны две опции: загрузка в виде установщика msi и загрузка архива zip. В реальности нам достаточно загрузить архив и распаковать его в нужном месте. Поэтому выберем эту опцию:
После загрузки zip-архива распакуем его и перейдем к распакованной папке.
По умолчанию нам откроется окно для создания нового подключения. Оно имеет только одно поле, куда надо ввести строку подключения. Строка подключения может отличаться в зависимости от места запуска сервера MongoDB (локально на текущем компьютере или где-то на другом сетевом ресурсе), используемого логина и пароля и других настроек. В данном случае мы рассмотрим подключение к локально запущеному серверу mongodb, установка которого была рассмотрена в прошлой теме.
Для подключения к локальному серверу MongoDB, который по умолчанию запускаетсяна порту 27017, введем mongodb://localhost:27017 и нажмем на кнопку Connect.
После успешного подключения нам откроется список баз данных, которые есть на сервере:
Мы можем выбрать определенную базу данных и получить по нему информацию, в частности, увидеть набор коллекций в бд, сколько они занимают данных.
В данном случае на скриншоте отображается список коллекций базы данных test, созданных в прошлой теме с помощью оболочки mongo.
Нажав на определенную коллекцию, можно увидеть графически все данные, которые есть в коллекции:
Используя графический интерфейс программы Compass, мы можем управлять этими данными, добавлять, изменять, удалять их.
GUI MongoDB Compass
С версии MongoDB 3.2 в качестве графической оболочки поставляется «MongoDB Compass». Это удобный Клиент, разработанный MongoDB Inc для администрирования и просмотра данных. Доступен для ОС Linux, Mac и Windows.
Возможности Compass
Установка
Вы можете установить Compass с официального сайта www.mongodb.com. Инструкции по установке на различные платформы можно найти там же, пройдя по данной ссылке
Подключение к MongoDB
После загрузки Клиента, Вы можете подключиться к БД Вашего аккаунта, используя данные доступа по SSH. Для этого необходимо зайти в панель управления и во вкладке «FTP/Файлы → Файловый менеджер» скачать закрытый ключ id_rsa из директории .ssh, которая находится в корне домашней папки.
Файл закрытого ключа необходимо хранить в надежном месте и не передавать никому, потому что с его помощью можно без пароля получить доступ к Вашему аккаунту на хостинге Hostland
После этого нужно выбрать опцию Use Identity File в поле SSH Tunnel и заполнить следующие поля:
После заполнения всех данных, нажмите Connect для подключения к БД Mongo
Интерфейс
После успешного подключения, Compass отобразит все базы данных и коллекции, доступные для работы, их размер и количество индексов в каждой из них. Здесь Вы можете создать новую базу данных или добавить коллекции к уже существующим, а также проверить скорость исполнения во вкладке PERFORMANCE
Выбрав коллекцию, Вы увидите количество созданных документов, их содержимое и размер. Можно просматривать их в виде списка или таблицы. Также, появится возможность добавления, правки и удаления текущих документов.
Можно сделать фильтр данных, просто выбрав необходимые Вам при помощи мыши и нажав ANALYZE. Compass создаст за Вас запрос к БД и выведет результат.
Подробную информацию по работе с GUI Compass можно найти на официальном сайте MongoDB, который также предлагает пройти бесплатное обучение.
Лучшие GUI для MongoDB в 2021 году
MongoDB — это NoSQL-база данных, которую в том или ином виде используют более четверти разработчиков. MongoDB и другие NoSQL-базы данных привлекают своей гибкостью: вместо жесткой схемы и вертикального масштабирования, у вас есть возможность развивать схему постепенно и масштабироваться горизонтально. Компания MongoDB вышла на биржу в 2017 году и сегодня стоит более 17 миллиардов долларов.
Работа с MongoDB через командную строку не всегда удобна, и в этом посте мы рассмотрим доступные графические инструменты.
Mongo Shell против GUI
Самый простой способ работы с MongoDB — это mongo shell. Его можно использовать для запросов, изменения данных и администрирования.
MongoDB Shell входит в состав дистрибутива MongoDB Server, так что, если вам удобно работать с командной строкой, то у вас все готово. Но, скорее всего, обход объектов и написание длинных запросов в командной строке вам быстро наскучит, поэтому mongo shell обычно используется для административных задач и когда нужно что-то быстро посмотреть.
Безусловно, с Mongo можно работать исключительно из командной строки, но работа даже с наборами данных среднего размера становится некомфортной.
С помощью графических инструментов можно визуализировать данные и редактировать запросы без использования командной строки (или с ней — подробности ниже).
Во всех GUI-инструментах MongoDB есть сходные возможности:
Визуальный редактор запросов: возможность создания запросов с помощью drag-and-drop.
Автодополнение запроса (autocomplete): автоматические предложения для имен коллекций, полей, методов и операторов.
Aggregation framework: пошаговое создание и тестирование запросов, с последующим экспортом в код.
Аналитика сервера и запросов: анализ запросов и производительности сервера.
Импорт данных из реляционной базы данных в MongoDB: автоматизация утомительной и подверженной ошибкам передачи данных между разными типами баз данных.
Далее рассмотрим лучшие графические инструменты для MongoDB на 2021 год. У каждого из них есть свои особенности, выделяющие одни среди других. Выбор зависит от масштабов вашего проекта, необходимых функций и бюджета.
MongoDB Compass
Описание
У MongoDB есть «родной» многоплатформенный GUI под названием Compass. Он предоставляет возможность навигации по базе данных без написания запросов. Полнофункциональная версия Compass недавно стала полностью бесплатной, а исходный код доступен на GitHub.
Особенности MongoDB Compass:
Визуализация схемы: Compass визуализирует коллекции для удобного анализа данных.
Визуальный редактор для CRUD-операций: выполнение CRUD-операций без написания запросов.
Геопространственные данные: создание запросов к картографическим данным с помощью интуитивного интерфейса с представлением результатов как в виде графиков, так и в виде JSON-документов.
Валидация: удобный редактор правил JSON Schema с подсказками.
Главная фича — плагины
Одна из особенностей MongoDB Compass — API для плагинов. Комьюнити Compass написало множество классных плагинов, которые могут генерировать тестовые данные, инспектировать пользователей базы данных и даже проверять статус шардов. Если вы нужного плагина нет, то можно написать свой, используя шаблон.
TablePlus
Описание
TablePlus — это современный нативный GUI-инструмент для реляционных баз данных, таких как MySQL, PostgreSQL, SQLite, и NoSQL-баз данных, таких как MongoDB. Команда TablePlus состоит из основателя Генри Фама (Henry Pham) и разработчика Ракуна Тая (Raccoon Thai). Команда, как и сообщество пользователей, довольно активны на GitHub.
Настраиваемый интерфейс: настройка конфигурации и внешнего вида.
in-line редактирование: возможность редактирования данных и структуры таблиц одним щелчком мыши.
Главная фича — безопасность базы данных
С помощью TablePlus можно подключиться к базе данных через защищенное соединение. Также TablePlus обеспечивает безопасное хранение учетных данных в хранилище ключей вашего устройства и поставляется со встроенным SSH. Помимо этого, есть поддержка многоступенчатой аутентификации и встроенный libssh.
Robo 3T
Описание
Robo 3T — это легковесный многоплатформенный GUI для MongoDB с открытым исходным кодом. Компания 3T Software Labs купила Robomongo в 2017 году и провела ребрендинг.
Проект продолжает развиваться и набрал восемь тысяч звезд на Github. Одно из преимуществ этого инструмента — большое комьюнити. Если возникнут проблемы, можно найти множество туториалов, руководств и форумов.
Особенности Robo 3T:
Автодополнение кода: хотя Robo 3T не обладает возможностями IntelliShell (см. Studio 3T ниже), у него есть полезная функция автодополнения в рантайме, которая работает через внутреннюю виртуальную машину.
Отзывчивый пользовательский интерфейс: все операции выполняются асинхронно, поэтому приложение никогда не будет зависать при длительных операциях.
Главная фича — встроенный MongoDB shell
Многие из графических инструментов MongoDB эмулируют mongo shell, но здесь он встроенный. Встроенный mongo shell обладает большей функциональностью по сравнению с эмулируемым, поскольку эмуляторы обычно работают поверх предоставленного API, тогда как встроенный shell работает напрямую с MongoDB.
Studio 3T
Описание
Studio 3T, ранее MongoChef — более мощная, профессиональная версия Robo 3T, принадлежащая той же компании 3T Software Labs. Studio 3T — это больше, чем просто графический инструмент MongoDB, это также IDE и клиент. Бесплатной версии Studio 3T нет (если не считать Robo 3T), а цены начинаются с 149$ в год на пользователя (редакция Core). В редакции Core отсутствуют функции, которые есть в более дорогих версиях, такие как импорт / экспорт SQL, SQL-запросы и schema explorer.
Особенности Studio 3T:
IntelliShell: интеллектуальный встроенный mongo shell с автодополнением, поддерживающий функции стандартной библиотеки JavaScript, коллекции, поля, операторы и методы.
Три способа представления данных:
Табличный — в виде строк и столбцов.
Древовидный — в виде иерархии.
JSON — в виде JSON-документов.
Генерация кода: экспорт запросов в Node.js, Python, Java, C #, PHP, Ruby и mongo shell.
Импорт данных: импорт из SQL-баз данных, Oracle и Sybase.
Главная фича — четыре способа написания запросов к MongoDB
Studio 3T предоставляет наибольшее количество вариантов создания запросов к базе данных. Вы можете выполнять запросы следующими способами:
SQL-запросы: можно писать запросы к MongoDB с использованием SQL (круто!).
Mongo shell: встроенная технология IntelliShell обеспечивает удобные функции автодополнения.
Редактор агрегирования (Aggregation Editor): написание сложных запросов.
Визуальный конструктор запросов: редактор с возможностью drag-and-drop для создания запросов (можно использовать вместе с IntelliShell)
Даже если вы не знакомы с документными базами данных, языками запросов и командной строкой, то все равно сможете использовать Studio 3T для работы с MongoDB.
NoSQLBooster
Описание
NoSQLBooster обладает большим набором функций в платной версии. В бесплатной многое из того, что делает этот GUI таким замечательным, отсутствует. Например, нет автодополнения кода и визуального построителя запросов. Лицензирования по подписке у NoSQLBooster нет, поэтому при покупке он останется вашим навсегда (или до тех пор, пока вы не захотите обновиться).
IntelliSense: аналогично IntelliShell, в Studio 3T при вводе текста отображаются подсказки, предлагая варианты завершения, методы, свойства, переменные, ключевые слова, имена коллекций, имена полей и операторы.
Интерактивные примеры: туториалы с заранее написанными запросами и описанием для изучения MongoDB.
Стоит также упомянуть встроенные сниппеты, предлагающие готовые фрагменты кода, например, для таких операций, как преобразование данных из SQL в MongoDB или для работы с диапазонами дат. Можно также создавать свои сниппеты.
Главная фича — NPM-пакеты в скриптах MongoDB shell
Особенностью NoSQLBooster является уникальная возможность добавить любой NPM-пакет в скрипт MongoDB shell. Некоторые полезные и популярные пакеты, такие как lodash, moment, bluebird, ShellJS, и math.js уже входят в его состав и готовы к использованию.
HumongouS.io
Описание
HumongouS.io — это полностью онлайновый GUI, что позволяет удобно организовать совместную работу. Он подходит как для разработки, так и для администрирования. При его использовании вам не нужно сообщать реквизиты доступа к базе данных — вместо этого вы можете предоставить доступ только к приложению. И также можно получить доступ к данным с мобильных устройств.
Интеллектуальный поиск (smart filters): фильтры коллекций можно сохранять, что обеспечивает быстрый доступ к ним.
Диаграммы и дашборды: очень легко создать диаграммы и дашборды для анализа нужных вам данных.
Главная фича — настраиваемые виджеты
С помощью виджетов можно настроить отображение данных и связать их с определенными коллекциями. Есть виджеты просмотра, форм и макетов. Виджеты просмотра (viewer widgets) позволяют отображать данные в более удобном виде, чем простые строки.
Виджеты форм (form widgets) — это, согласно документации HumongouS.io, «строительные блоки форм«. Их можно настроить и сопоставить с любым типом данных в вашей базе данных.
Виджеты макета (layout widgets) — альтернатива стандартному табличному представлению, позволяют отображать специализированные данные.
NoSQL Manager
Описание
NoSQL Manager упрощает навигацию, просмотр и редактирование документов, а также позволяет устанавливать ограничения для максимальной производительности. Вы можете управлять коллекциями, индексами, а также пользователями, ролями и функциями. Поддерживается MongoDB Enterprise, MongoDB в Azure Cosmos DB и Amazon DocumentDB.
Поддержка различных конфигураций хостов: NoSQL Manager поддерживает наборы реплик (Replica Set), соединения к шардированным кластерам и автономным хостам.
Просмотр данных: просмотр и редактирование документов в виде дерева, таблиц и JSON.
SSH-туннелирование: NoSQL Manager может подключаться к MongoDB через SSH-туннель.
Импорт: импорт данных из MySQL и SQL Server.
Главная фича — автодополнение
NoSQL Manager поставляется с MongoDB UI Shell с автодополнением кода, подсветкой синтаксиса и подсказками. Автодополнение подсказывает вам имена коллекций и методов в командах MongoDB Shell по мере ввода команд.
Retool
Описание
Retool — это платформа для разработки внутренних инструментов, на базе которой вы можете создать любой GUI для MongoDB (см. шаблон). Retool позволяет использовать drag-and-drop для построения форм без кодирования и подключаться к чему угодно с помощью REST или GraphQL, что означает возможность создания полнофункционального GUI для MongoDB и реализации любых CRUD-операций.
Производительность: настройка работы Retool с MongoDB занимает всего несколько минут.
Анализ схемы: визуальное представление данных.
Сохранение запросов: запросы можно сохранять и использовать повторно.
Быстрое превращение запросов в готовые инструменты: от запроса до готового фронтенда пара кликов без написания кода.
Главная фича — настраиваемый интерфейс для визуализации данных
Вы можете использовать готовые компоненты Retool (таблицы, кнопки, текстовые поля, поля для поиска) не только для просмотра ваших данных, но и для выполнения любых необходимых CRUD-операций. После настройки источника данных интерфейс создается с помощью drag-and-drop.
Лучший MongoDB GUI для вашего проекта
Как и выбор любого другого инструмента, выбор GUI для MongoDB зависит от ваших целей и потребностей.
Если вы хотите полностью отказаться от командной строки, то Compass будет подходящим выбором. Если простое решение с большим комьюнити — Robo 3T. Если вы знакомы с SQL и хотите продолжать писать запросы на всеми любимом языке запросов, то подойдет NoSQLBooster. А если нужно превратить ваши запросы в готовые утилиты, то попробуйте Retool.
Всех желающих приглашаем на открытый урок «Отказоустойчивое Key Value хранилище ETCD». На занятии познакомимся с etcd и разберем спектр ее применения.
Краткое содержание:
— алгоритм Raft;
— отличия etcd от прочих аналогичных решений;
— основные моменты установки и настройки кластера etcd;
— бэкап и репликация кластера.
В результате получим развернутый кластер.
>> РЕГИСТРАЦИЯ
MongoDB Compass теперь бесплатно для всех!
Еще в сентябре мы объявили, что исходный код Compass стал доступным на Github под SSPL и сделали его бесплатным для всех пользователей.
Переключившись на полную версию Compass, вы сможете воспользоваться великолепной функциональностью, которая делает работу с MongoDB и всеми ее мощными функциями проще, чем когда-либо.
Анализатор схемы
Анализатор схемы также может функционировать как визуальный построитель запросов. После анализа схемы коллекции вы можете взаимодействовать с диаграммами, которые появляются в результате анализа, и панель запросов будет заполнена соответствующим образом. Это особенно полезно с геопространственными запросами. Геопространственные запросы в MongoDB чрезвычайно мощные, но их может быть немного утомительно писать. Просмотр карты в Compass Schema Analyzer делает его быстрым и простым: просто нарисуйте фигуры на карте (поддерживаются круги и многоугольники), и панель запросов будет заполнена правильным геопространственным запросом.
Проверка документов
MongoDB может проверить схему ваших документов при вставке обновлений. На вкладке «Проверка документов» в «Компасе» вы можете быстро создавать, тестировать и обновлять правила проверки для своих коллекций. Просто начните вводить данные в интеллектуальном редакторе и с контекстным дополнением кода, подсветкой синтаксиса и предварительным просмотром в реальном времени вы сможете мгновенно определить правила проверки для своей коллекции.
Корпоративная аутентификация
Если вы используете MongoDB с расширенными настройками аутентификации, например, X.509 в Atlas, вы можете использовать Compass для подключения к вашим кластерам. В полной версии MongoDB Compass мы поддерживаем все типичные методы корпоративной аутентификации (Kerberos, LDAP и X.509).
Как перейти с Community Edition на полнофункциональную версию MongoDB Compass
Прежде всего, обновите Compass Community до версии 1.21. Затем загрузите и установите полнофункциональную версию MongoDB Compass из нашего центра загрузки. После установки Compass следуйте инструкциям для вашей операционной системы ниже:
MacOS
Сообщество Compass сохраняет все ваши предпочтения (избранные соединения, историю запросов и сохраненные агрегаты) в
Linux
Сообщество Compass сохраняет все ваши предпочтения (избранные соединения, историю запросов и сохраненные агрегаты) в
Как только это будет сделано, запустите Compass, и вы должны найти все настройки, которые были у вас в Сообществе Compass.
Если у вас возникли проблемы с переносом ваших настроек и предпочтений, сообщите нам об этом, создав заявку в нашем проекте JIRA.
Если есть что-то еще, что вы хотели бы видеть в Compass для более продуктивной работы с MongoDB, отправляйте предложения на нашем портале отзывов!
Введение в MongoDB. Руководство для начинающих
Вступление
С переходом парадигмы в сторону динамического контента, спрос на базу данных No-SQL вырос. Это привело к появлению многочисленных No-SQL баз данных, таких как MongoDB.
MongoDB, классифицированная как база данных No-SQL, представляет собой базу данных на основе документов, в которой хранятся данные в виде документов JSON, автоматически сгенерированные для каждого документа.
Это позволяет разработчикам быстро вносить изменения в объекты без необходимости каких-либо изменений на уровне базы данных.
Установка MongoDB
MongoDB, как и любая другая база данных, доступна в нескольких вариантах в зависимости от потребностей разработки.
Каждый из них полностью совместим с любой операционной системой. Для начала, загрузите соответствующий установочный файл в соответствии с вашей операционной системой.
Процесс установки немного отличается для каждой операционной системы, и, следовательно, мы будем проходить установку каждой операционной системы отдельно.
Установка на MacOS
Загрузите архив .tgz, содержащий необходимые двоичные файлы. Разархивировав его, вы сможете просмотреть набор двоичных файлов, расположенных в папке bin.
Установка на Windows
Приведенные выше команды приведут вас в соответствующий каталог и выполнят установку в указанном месте. После установки вам необходимо настроить путь к хранилищу базы данных по умолчанию для MongoDB. Команда ниже поможет вам настроить
Приведенная выше команда создает папку db/data в каталоге, на который в данный момент указывает командная строка. В случае, если вам нужно заново настроить базу данных, вы можете использовать mongod.exe с аргументом dbpath, как показано ниже:
Установка на Linux
Как и в случае установки на MacOS, MongoDB для Linux-версий также доступна в виде архивированной группы двоичных файлов. Процесс установки MongoDB довольно похож.
Создание первой коллекции
MongoDB хранит данные в форме документов JSON. Группа такой документации все вместе известна как коллекция в MongoDB. Таким образом, коллекция аналогична таблице в реляционной базе данных, а документ аналогичен записи.
Для хранения документов нам сначала нужно создать коллекцию. Интересной особенностью базы данных NoSQL является то, что в отличие от базы данных SQL вам не нужно указывать имена столбцов или типы данных в ней.
Первым шагом к созданию коллекции является создание базы данных. Чтобы создать базу данных и подключиться к ней с помощью командной строки, выполните приведенную ниже команду из домашнего каталога установки MongoDB.
Эта команда используется для запуска подключения к базе данных и одновременного подключения к учебной базе данных. В журнале будет показано несколько строк, указывающих, что командная строка подключена к базе данных MongoDB.
Пример ответа в командной строке показан ниже, чтобы дать вам лучшее представление об этом.
Вот как создается пустая коллекция. Следующим шагом является вставка данных и некоторая обработка записей с использованием командной строки MongoDB.
Вставка документа в коллекцию
Как обсуждалось выше, можно вставить практически любой JSON в каждую коллекцию MongoDB.
Давайте начнем со вставки первого документа JSON в коллекцию firstCollection, созданную выше.
Приведенная выше команда имеет многократное использование в зависимости от варианта find() функции. Если аргументы не указаны, как в случае с приведенной выше командой, она выбирает все доступные документы из коллекции.
Вы можете вставить еще одну запись и попробовать то же самое. При этом выходные данные вышеуказанной команды будут аналогичны показанным ниже:
Как видно, показаны две доступные записи. Функция find() может быть легко использована для фильтрации документов на основе определенных параметров. Давайте отфильтруем документ, используя атрибут name.
Процесс фильтрации прост, и это можно понять из команды ниже:
Фильтр также можно использовать с несколькими атрибутами в JSON. Хотя к запросу можно добавить любое количество параметров, ограничением этого подхода является то, что он соответствует только точному значению атрибутов.
Фильтрация записей с использованием регулярных выражений (Regex)
Сложные запросы в MongoDB
Давайте попробуем получить список документов, в которых атрибут name содержит John или атрибут skill содержит Java.
Для следующего набора операторов нам нужно будет создать еще одну коллекцию и добавить в нее несколько записей, используя команды ниже.
Следующий набор операторов, которые мы будем использовать, это операторы сравнения в запросе. Для сравнения значений с использованием таких критериев, как меньше или больше или не равно, мы используем соответствующие операторы в передаваемом нами значении.
Пример получения списка студентов с оценками выше 22 показан ниже.
Оператор $gt указывает больше, чем в критериях. Таким образом, документы с отметками более 22 отображаются. Точно так же есть другие операторы, которые можно использовать. Они перечислены ниже.
| Оператор | Назначение | Пример |
| $eq | Если значение равно | |
| $gt | Если значение больше | |
| $lt | Если значение меньше | |
| $gte | Если значение больше или равно | |
| $lte | Если значение меньше или равно | |
| $ne | Если значение не равно | |
| $in | Если значение равно одному из значений массива | |
| $nin | Если значение не равно одному из значений массива |
Графический интерфейс (GUI) в MongoDB
В обсуждении выше мы использовали командную строку для выполнения наших запросов в MongoDB.
Использование командной строки может быть сложной задачей, когда речь идет о сложных запросах и большем наборе данных. Чтобы упростить просмотр данных и выполнение запросов, MongoDB предоставляет вам отличный инструмент с графическим интерфейсом, который называется MongoDB Compass.
MongoDB Compass можно легко загрузить с сайта загрузки MongoDB. После того, как вы загрузили и установили MongoDB Compass, запустите приложение, и вас будет приветствовать экран, похожий на экран, показанный ниже.
Учитывая, что у вас запущен и работает сервер MongoDB, нажмите кнопку CONNECT со сведениями по умолчанию. Вы должны войти в систему и увидеть список доступных баз данных.
Щелкните по базе данных учебника, чтобы проверить список коллекций в учебной базе данных. Как показано ниже, он отображает список доступных коллекций в учебной базе данных.
При щелчке по коллекции отображается список документов с необходимыми элементами управления для фильтрации записей с использованием JSON, а также средство для просмотра документов в формате JSON или табличном формате согласно вашему удобству.
Графический интерфейс также упрощает добавление документа. Все, что вам нужно сделать, это нажать кнопку INSERT DOCUMENT на экране, показанном ниже. Он открывает небольшое диалоговое окно с запросом деталей документа с автоматически сгенерированным идентификатором документа.
Графический интерфейс упрощает множество операций, которые могут быть затруднены при использовании интерфейса командной строки MongoDB.
Мы описали суть NoSQL с помощью множества примеров и поняли, как документы отличаются от обычной записи реляционной базы данных.





















