Время на прочтение8 мин
Количество просмотров57K
MongoDB — это NoSQL-база данных, которую в том или ином виде используют более четверти разработчиков. MongoDB и другие NoSQL-базы данных привлекают своей гибкостью: вместо жесткой схемы и вертикального масштабирования, у вас есть возможность развивать схему постепенно и масштабироваться горизонтально. Компания MongoDB вышла на биржу в 2017 году и сегодня стоит более 17 миллиардов долларов.
Документные базы данных используют вместо реляционных таблиц и столбцов вложенные пары ключ-значение. Одно из преимущество такого подхода в том, что вам не нужно преобразовать данные для взаимодействия с фронтендом — данные уже хранятся в необходимом виде (плюс-минус .map или .reduce).
Работа с MongoDB через командную строку не всегда удобна, и в этом посте мы рассмотрим доступные графические инструменты.
Mongo Shell против GUI
Самый простой способ работы с MongoDB — это mongo shell. Его можно использовать для запросов, изменения данных и администрирования.
MongoDB Shell входит в состав дистрибутива MongoDB Server, так что, если вам удобно работать с командной строкой, то у вас все готово. Но, скорее всего, обход объектов и написание длинных запросов в командной строке вам быстро наскучит, поэтому mongo shell обычно используется для административных задач и когда нужно что-то быстро посмотреть.
> use sample_analytics
switched to db sample_analytics
> db.transactions.find({})
{
"_id": "5ca4bbc7a2dd94ee581625eb",
"account_id": 50948,
"limit": 10000,
"products": [
"InvestmentStock",
"Commodity",
"Brokerage"
],
"transaction_info": [
{
"_id": "5ca4bbc1a2dd94ee58161e14",
"account_id": 50948,
"transaction_count": 6,
"bucket_start_date": "1991-05-08T00:00:00.000Z",
"bucket_end_date": "2015-10-13T00:00:00.000Z",
"transactions": [
{
"date": "2015-10-08T00:00:00.000Z",
"amount": 2311,
"transaction_code": "sell",
"symbol": "nflx",
"price": "104.9154457571513461289214319549500942230224609375",
"total": "242459.5951447767609039374292"
},
{
"date": "1995-12-15T00:00:00.000Z",
"amount": 4828,
"transaction_code": "buy",
"symbol": "aapl",
"price": "1.102632231847472166208490307326428592205047607421875",
"total": "5323.508415359595618454591204"
},
...
]
}
]
},
Безусловно, с 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.
Особенности TablePlus:
-
Настраиваемый интерфейс: настройка конфигурации и внешнего вида.
-
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 нет, поэтому при покупке он останется вашим навсегда (или до тех пор, пока вы не захотите обновиться).
Особенности 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:
-
Производительность: настройка работы Retool с MongoDB занимает всего несколько минут.
-
Анализ схемы: визуальное представление данных.
-
Сохранение запросов: запросы можно сохранять и использовать повторно.
-
Быстрое превращение запросов в готовые инструменты: от запроса до готового фронтенда пара кликов без написания кода.
Главная фича — настраиваемый интерфейс для визуализации данных
Вы можете использовать готовые компоненты Retool (таблицы, кнопки, текстовые поля, поля для поиска) не только для просмотра ваших данных, но и для выполнения любых необходимых CRUD-операций. После настройки источника данных интерфейс создается с помощью drag-and-drop.
Лучший MongoDB GUI для вашего проекта
Как и выбор любого другого инструмента, выбор GUI для MongoDB зависит от ваших целей и потребностей.
Если вы хотите полностью отказаться от командной строки, то Compass будет подходящим выбором. Если простое решение с большим комьюнити — Robo 3T. Если вы знакомы с SQL и хотите продолжать писать запросы на всеми любимом языке запросов, то подойдет NoSQLBooster. А если нужно превратить ваши запросы в готовые утилиты, то попробуйте Retool.
Материал подготовлен в рамках курса «NoSQL».
Всех желающих приглашаем на открытый урок «Отказоустойчивое Key Value хранилище ETCD». На занятии познакомимся с etcd и разберем спектр ее применения.
Краткое содержание:
— алгоритм Raft;
— отличия etcd от прочих аналогичных решений;
— основные моменты установки и настройки кластера etcd;
— бэкап и репликация кластера.
В результате получим развернутый кластер.
>> РЕГИСТРАЦИЯ
Categorized as a NoSQL database, MongoDB is a well-known document-oriented database program. Known for its flexibility, MongoDB leverages JSON-like documents. With the increasing importance attributed to the maintenance and storage of data, MongoDB has garnered exceptionally high mainstream adoption.
Querying your MongoDB data via command lines is possible, but it can get messy very quickly, leading to incorrect results. This is where GUIs come into play – MongoDB GUIs are practically graphical user interfaces used for viewing and manipulating data from MongoDB databases.
This article will help you get a clear comprehension of the top-notch MongoDB GUI Clients, delineating their attributes and pros and cons.
What is a MongoDB GUI Client?
A MongoDB Graphical User Interface (GUI) Client is a visual tool designed to simplify interaction with the MongoDB database. It makes it easier to visualize data, build and edit queries, and conduct data analysis without needing extensive command line knowledge. Not to mention that MongoDB GUI Clients are extremely useful for both developers and non-technical end-users alike, as they provide a user-friendly interface for managing and working with data stored in MongoDB databases.
Examples of popular MongoDB GUI tools include Compass, Studio 3T, Robo 3T, and HumongouS.io. Compass, for instance, is developed by the creators of MongoDB and offers a platform-agnostic graphical view of your database.
Top 10 Best MongoDB GUI Clients to Try
The selection of an ideal GUI client in the process of MongoDB data manipulation is a practice you must adhere to. This might prove to be the difference between a triumphant and unsuccessful software application development project. That’s why it is pertinent to evaluate varying MongoDB GUI Clients before pinpointing a single one.
Lucky for you, here I have compiled a list of some of the most well-esteemed tools or GUI clients for accessing and viewing data from MongoDB databases:
1) MongoDB Compass
2) Mingo
3) TablePlus
4) NoSQL Booster
5) NoSQL Manager
6) Studio 3T
7) HumongouS.io
Robo 3T
9) DronaHQ
10) Retool
MongoDB GUI Clients | Attributes | Pricing |
MongoDB Compass |
|
Free |
Mingo |
|
From $7.71 (solo) per month to $94 per month (business) |
TablePlus |
|
$59 to $129 (license payment) |
NoSQL Booster |
|
$129 to $9000 (one-time payment) |
NoSQL Manager |
|
$125 per year |
Studio 3T (MongoChef) |
|
From $199 per user per month |
HumongouS.io |
|
Free to $99 per user per month |
Robo 3T (Robomongo) |
|
From $199 per user per month |
DronaHQ |
|
Free to $25 per month |
Retool |
|
$15 to $65 per user per month |
1) MongoDB Compass
MongoDB Compass is the official GUI for MongoDB, providing users with a graphical view of their MongoDB collections and allowing them to interact with their data with full CRUD functionality.
This omnipresent tool is particularly useful for MongoDB developers who want to explore and manipulate their MongoDB data in a more visual and intuitive manner.
Credits: Mongodb Compass
Pros of MongoDB Compass:
- Provides a visual interface to display information about a MongoDB database and perform queries
- Supports multiple operating systems, including Windows, Linux, and Mac
- It’s a free and open-source software, meaning it’s constantly updated and improved
- Provides a way to visualize your data, create indexes, and assemble complex aggregation pipelines
Cons of MongoDB Compass:
- Scaling and replication can be challenging
- Queries can become more complex when dealing with large data sets
- Due to its flexible data model, it can be difficult to understand your data’s structure without a proper schema design
2) Mingo
Mingo is a lightweight GUI client for MongoDB that offers a well-designed interface for managing databases, collections, and documents. It comes with advanced features like query history and bookmarks.
Mingo MongoDB GUI is preferred by developers who need to quickly navigate through complex database structures and execute queries more efficiently.
Credits: Mingo
Pros of Mingo:
- Mingo provides a rich feature set for MongoDB developers
- It has a modern UI that enhances the user experience
- Supports planning, data visualization, and comprehensive reporting
- User-friendly and easy to use
Cons of Mingo
- Hard to search information for those unfamiliar with coding practices
- Requires certain fixes to resolve bugs
3) TablePlus
TablePlus is a modern and robust GUI tool for multiple databases, including MongoDB. It supports a variety of relational and NoSQL databases, making it a versatile tool for database management. This is an ideal GUI client for developers working with multiple databases, offering a unified interface for managing different database systems.
Credits: Tableplus
Pros of TablePlus:
- A simple and fast interface
- It supports many databases, making it highly flexible
- It provides a no-code query feature that simplifies database management
- It’s lightweight and does not consume a lot of system resources
Cons of TablePlus:
- It has usage limitations in the free version, such as a maximum of 2 active tabs, 2 active windows, and 2 advanced filters at a time
- Some users have reported that TablePlus can be somewhat confusing to navigate
- It may not be as flexible or customizable as some other database management tools
- It does not support some advanced features found in other database management tools
4) NoSQL Booster
NoSQL Booster is a shell-centric cross-platform GUI tool for MongoDB that provides comprehensive server monitoring tools, a fluent query builder, SQL queries, and more. For developers who need to monitor their MongoDB databases in real-time and prefer writing SQL-style queries, NoSQL Booster is the perfect choice. Plus, you can use Shell extensions to import Node.js modules such as lodash, bluebird, ShellJS, or moment.js directly into the shell.
Credits: NoSQL Booster
Pros of NoSQL Booster:
- Boasts a powerful query builder with syntax highlighting, auto-completion, and support for complex queries.
- Offers a range of data manipulation tools, including data import, export, and transformation.
- Integrates with popular version control systems like Git
- NoSQL Booster’s interface is highly customizable, enabling users to tailor it to their preferences.
Cons of NoSQL Booster:
- NoSQL Booster’s advanced features can make it less beginner-friendly than some other MongoDB GUI clients.
- Documentation could be more comprehensive
- It is a paid tool, which may not be suitable for everyone’s budget.
5) NoSQL Manager
NoSQL Manager is a user-friendly GUI client for MongoDB, offering a combination of traditional Mongo shell operations and GUI features. In case you want both shell and GUI operations and require extensive data export/import options, this tool is for you.
Credits: NoSQL Manager
Pros of NoSQL Manager:
- NoSQL Manager MongoDB GUI offers a user-friendly interface that makes it easy to get started with MongoDB
- Includes security and compliance features, such as user authentication, encryption, and audit logging
- Available in both free and paid versions, making it accessible to a wide range of users
Cons of NoSQL Manager:
- Query builder is less powerful than that of some other MongoDB GUI clients
- Offers a narrower range of data manipulation tools compared to some alternatives
- NoSQL Manager doesn’t directly integrate with popular version control systems
6) Studio 3T
A professional and revered MongoDB GUI client, Studio 3T offers a variety of tools for query building, data comparison, and import/export, making it a comprehensive MongoDB management tool. Studio 3T is suitable for professional developers and teams who need advanced data migration, synchronization, and automation capabilities.
Credits: Studio 3T
Developers can utilize the Code Generation tool to export queries in languages such as Ruby, Node.js, Python, PHP, Java, and C#, and the MongoDB shell language. The high volume of query methods (including less “technical” ones) makes Studio 3T an invaluable tool for both technical and non-technical users irrespective of their level of familiarity with command lines, document-based databases, or even query languages.
Pros of Studio 3T:
- Studio 3T provides a professional interface for working with MongoDB databases
- It is easy to use with little to no technical knowledge required
- The Visual Query Builder and Aggregation Pipeline are useful features, and the flexibility in languages simplifies migration
- It supports all three major operating systems: Windows, Linux, and Mac
Cons of Studio 3T:
- Registration/login is required to use Studio 3T immediately
- It can be somewhat overwhelming and technical for some users
- The platform may not be as intuitive or user-friendly as other MongoDB GUI clients
- It may require additional training to fully utilize the platform’s features
7) HumongouS.io
This popular, ubiquitous tool provides a clean, web-based interface for managing MongoDB databases. It offers features like full-text search, data visualization, and user management.
HumongouS.io is great for teams who need to collaborate on MongoDB databases, with various options for sharing and user access controls.
Credits: HumongouS.io
Pros of HumongouS.io:
- io offers a beautiful and modern UI
- It is completely web-based, making it accessible from any device with a web browser
- It works beautifully on mobile devices, providing flexibility and convenience
- It allows teams to work collaboratively around the same database
Cons of HumongouS.io:
- The query editor in HumongouS.io is relatively basic compared to other GUI clients
- io offers a limited range of data manipulation tools compared to other clients.
- Its scripting capabilities are somewhat restricted compared to other MongoDB GUIs
Robo 3T
Robo 3T, formerly Robomongo, is a lightweight, free, and open-source MongoDB GUI. The team at 3T Software developed Robo 3T, who are the creators of the Studio 3T, the IDE for MongoDB.
It embeds the same MongoDB shell that ships with MongoDB, allowing you to use shell scripting capabilities. Robo 3T is absolutely well-suited for developers who prefer a minimal, open-source GUI that provides direct shell access.
Credits: Robo 3T
Pros of Robo 3T:
- Robo 3T provides comprehensive server monitoring tools, a fluent query builder, and SQL query support
- It is a shell-centric, cross-platform GUI tool for MongoDB
- It is lightweight and open-sourced, which makes it a good choice for developers
Cons of Robo 3T:
- Studio3T is considered a more usable platform compared to Robo3T
- Some users find MongoDB Compass a more convenient tool for viewing documents
- Some users report that it is not convenient to write complex queries spanning multiple lines
9) DronaHQ
DronaHQ is a no-code platform that includes a MongoDB GUI, empowering developers to build apps and automate tasks with MongoDB without coding. It lets you smoothly perform CRUD operations.
According to experts, DronaHQ is considered ideal for business users or developers who want to quickly build apps or automate tasks with MongoDB without writing code.
Credits: DronaHQ
Pros of DronaHQ:
- DronaHQ helps containerize all apps in one single app, making it efficient for mobile app development
- It provides outstanding templates and integration services
- The DronaHQ platform has an intuitive GUI, giving developers great control over the aesthetics and responsiveness of the apps
- It allows for rapid building, deploying, and managing of apps
Cons of DronaHQ:
- Drona HQ’s feature set is relatively limited compared to other MongoDB GUI clients
- Its interface and features can be complex for beginners
- The documentation could be more comprehensive and provide more detailed explanations of its features and functionalities
10) Retool
Retool is a fast way to build internal tools, offering a drag-and-drop interface for MongoDB. It allows you to easily manipulate your data and build up complex, reusable queries. Choose this option if you need to build internal tools quickly with pre-built components and integrations.
Credits: Retool
Pros of Retool:
- Retool provides a software component library that features tables, charts, forms, wizards, and lists
- It allows for fast building of internal tools with its drag-and-drop building blocks
- Considered one of the best low-code platforms for creating web applications, custom/internal tools, dashboards, etc.
- It provides outstanding templates and integration services
Cons of Retool:
- While it caters well to developers, the overall interface might benefit from better labeling and simplification
- It can be somewhat overwhelming and technical for some users
- It can sometimes be slow, and get stuck while working on it
- Retool may not offer the same level of security and compliance features as other enterprise-grade application development platforms
MongoDB Use Cases
MongoDB GUI Clients are used across various applications and industries. They are particularly beneficial when handling large amounts of data or when dealing with complex data structures. For instance, they can be used to manage product data, enabling detailed cost analysis, increased productivity, and improved collaboration. They are also leveraged to develop advanced customer service applications.
Strengths and Weaknesses
One of the biggest advantages of MongoDB GUI clients is their user-friendly interface, which simplifies data querying, optimization, and analysis. They also support rapid iterative development and support collaboration among large teams. Some clients even come with advanced features, such as query autocomplete and suggestion, which further enhance user experience.
However, there are also some downsides to consider. Some advanced features of such MongoDB GUI tools may require a paid subscription. Furthermore, free UI tools for database management may be lacking, and the mechanism of migration between versions may not be as straightforward as well.
Despite these drawbacks, the benefits of these clients tend to outweigh their limitations, making them a valuable tool for interacting with MongoDB databases.
Bottom Line
Needless to say, choosing the right MongoDB GUI client tools dramatically enhances productivity and efficiency. From MongoDB Compass to Mingo and TablePlus to Robo 3T, there are a handful of feature-rich tools available to make connectivity with databases much easier. Each tool has unique strengths that cater to different user needs, ensuring there’s a solution for every use case. From budget to the scope of the project, there are varying factors that influence the process of selecting the ideal MongoDB GUI client.
Последнее обновление: 07.09.2023
Установка сервера Mongod
Официальный сайт предоставляет пакеты дистрибутивов для различных платформ: Windows, Linux, MacOS, Solaris. И каждой платформы доступно несколько дистрибутивов.
Причем есть два вида серверов — бесплатный Community и платный Enterprise. В данном руководстве будем использовать бесплатную версию Community.
Для установки MongoDB загрузим один распространяемых пакетов с официального сайта https://www.mongodb.com/try/download/community.
Для загрузки всех необходимых файлов выберем нужную операционную систему и подходящий тип пакета. Рассмотрим на примере установки на ОС Windows.
MongoDB можно загрузить в ряде вариантов. Так, для Windows доступна загрузка установщика msi и также доступна загрузка архива zip.
В реальности нам достаточно загрузить zip-архив и распаковать в нужной нам папке. Поэтому выберем этот вариант загрузки (хотя также можно выбрать вариант установщика msi):
Если до установки уже была установлена более ранняя версия MongoDB, то ее необходимо удалить.
После загрузки архивного пакета распакуем его в папку C:\mongodb.
Если после установки мы откроем папку bin в распакованном архиве (C:\mongodb\bin), то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.
-
mongod: сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные
операции в фоновом режиме по управлению базами данных -
mongos: служба маршрутизации MongoDB, которая помогает обрабатывать запросы и определять местоположение данных в кластере
MongoDB
Создание каталога для БД и запуск MongoDB
После установки надо создать на жестком диске каталог, в котором будут находиться базы данных MongoDB.
В ОС Windows по умолчанию MongoDB хранит базы данных по пути C:\data\db, поэтому, если вы используете Windows, вам надо создать
соответствующий каталог.
Если же возникла необходимость использовать какой-то другой путь к файлам, то его можно передать при запуске MongoDB во флаге
--dbpath
.
Итак, после создания каталога для хранения БД можно запустить сервер MongoDB. Сервер представляет приложение mongod, которое находится
в каталоге bin в папке сервера. Для этого запустим терминал/командную строку и там введем соответствующие команды. Для ОС Windows это
будет выглядеть так:
Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.
И после удачного запуска сервера мы сможем производить операции с бд через клиент.
Установка клиента Mongosh
Выше мы установили сервер MongoDb. Однако для работы с сервером нам нужен клиент. Наиболее простым клиентом в данном случае является MongoDB Shell или mongosh —
консольная оболочка для отправки запросов к серверу, которая также предоставляется непосредственно компанией MongoDB.
Для установки клиента перейдем по адресу https://www.mongodb.com/try/download/shell
Здесь опять же мы можем выбрать версии клиента для разных операционных систем. Для Windows пакет клиента доступен в виде архива zip.
Загрузим этот пакет и распакуем его в папку C:\mongosh.
Если в распакованном архиве мы зайдем в папку bin (то есть C:\mongosh\bin), то обнаружим там консольную утилиту mongosh,
которая будет применяться для работы с сервером MongoDB:
Подключение к серверу из клиента
Используем выше установленное клиентское приложение mongosh для взаимодействия с сервером mongodb. (При работе с mongosh не стоит забывать, что у нас должен быть запущен сервер mongod).
Итак, запустим файл mongosh, который располагается в выше рассмотренной папке установки:
При запуске программы mongosh вначале она спросит пользователя, какую строку подключения использовать для подключения к серверу MongoDB. В этом моменте просто нажмем на Enter,
чтобы использовать строку подключения к MongoDB по умолчанию. А по умолчанию сервер mongodb запускается на порту 27017,
а полная строка подключения выглядит следующим образом: mongodb://localhost:27017
или mongodb://127.0.0.1:27017
После подключения консоль отобразит ряд служебной информации и подключится к базе данных test.
Теперь поизведем какие-либо простейшие действия. Введем в консоль последовательно следующие команды и после каждой команды нажмем на Enter:
db.users.insertOne( { name: "Tom" } ) db.users.find()
С помощью функции db.users.insertOne() в коллекцию users базы данных test добавляется объект { name: "Tom" }
.
Идентификатор db представляет текущую базу данных. В нашем случае мы подключены к базе данных по умолчанию — то есть к базе данных test,
соответственно db
здесь представляет базу данных test. При этом не важно, есть или нет такая бд — если ее нет, то она создается
После db идет users — это коллекция, в которую затем мы добавляем новый объект. Если в SQL нам надо создавать таблицы заранее, то коллекции
MongoDB создает самостоятельно при их отсутствии.
Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта
определен один ключ «name», которому сопоставляется значение «Tom». То есть мы добавляем пользователя с именем Tom.
Если объект был успешно добавлен, то консоль выведет результат операции, в частности, идентификатор добавленного объекта.
А вторая команда db.users.find() выводит на экран все объекты из бд test.
Из вывода вы можете увидеть, что к начальным значениям объекта было добавлено какое-то непонятно поле ObjectId.
Как вы помните, MongoDB в качестве уникальных идентификаторов документа использует поле _id
. И в данном случае ObjectId как
раз и представляет значение для идентификатора _id.
Установка драйверов MongoDB
В дальнейшем в рамках данного руководства мы будет рассматривать взаимодействие с сервером MongoDB преимущественно через выше использованную оболочку
mongo. Однако, мы также можем взаимодействовать с mongodb в наших приложениях, написанных на PHP, C++, C# и других языках программирования. И для этой цели необходим специальный драйвер.
На офсайте на странице https://docs.mongodb.com/ecosystem/drivers/ можно найти список драйверов
для всех поддерживаемых языков программирования, в частности, для PHP, C, C++, C#, Java, Go, Python, Rust, Ruby, Scala, Swift, а также для Node.js.
Работа с драйверами на конкретных языках программирования будет рассмотрена в соответствующих разделах, посвященных этим языкам..
Beekeeper Studio Is A Modern, Easy To Use MongoDB GUI Client
Beekeeper Studio is a modern and friendly MongoDB GUI client.
Our users tell us that Beekeeper Studio is the most intuitive, and easy to use MongoDB GUI client available.
Beekeeper Studio cares about the details, for example, if you paste a MongoDB url into Beekeeper Studio it will just work ™
Tried a few tools. Beekeeper was the only one that I found that felt right. Most had a very 1990’s feel to them — ⭐⭐⭐⭐⭐ Allan
The MongoDB Client that Finally Gets It Right
Tired of clunky MongoDB interfaces that feel like they were designed in the 90s? Beekeeper Studio delivers a MongoDB experience that’s not just modern—it’s revolutionary.
While other tools force you to choose between MongoDB’s power and SQL’s familiarity, we’ve built the first MongoDB client that truly delivers both worlds without compromise. Write native MongoDB queries one minute, switch to SQL syntax the next, and watch as your team’s productivity soars.
Use SQL with MongoDB? Yes, You Can!
Imagine writing this to query your MongoDB collections:
SELECT name, email, orders.total
FROM customers
JOIN orders ON customers._id = orders.customer_id
WHERE orders.status = 'complete'
ORDER BY orders.total DESC
LIMIT 10
That’s right—Beekeeper Studio lets you use the SQL you already know with MongoDB. JOINs, GROUP BY, complex WHERE clauses—it all works. Behind the scenes, we translate to MongoDB’s aggregation pipeline and query operators, giving you the familiar syntax of SQL with the full power of MongoDB. Your entire team can be productive from day one, regardless of their MongoDB experience.
To do this we wrote our own open source SQL to MongoDB library, so you can see exactly how it works, and even use it in your own apps.
Our users report cutting development time in half when working with MongoDB. Why? Because Beekeeper Studio bridges the knowledge gap that’s always existed between document databases and relational thinking. It’s the tool MongoDB deserved from the beginning—intuitive enough for NoSQL experts yet accessible for SQL veterans.
Beekeeper Studio isn’t just another MongoDB client. It’s the missing link in your database toolkit.
MongoDB GUI Client Features
Beekeeper Studio is designed primarily to be an easy to use database GUI. We really sweat the details to make the app as intuitive as possible.
MongoDB Query Editor
Beekeeper Studio’s query editor is powerful, but easy to use. To start writing queries, just pop open a new tab and begin typing – just like in your regular text editor. Learn more.
Download for free >
MongoDB Document View
Browse and edit your collections with our intuitive document view. Filter, modify, and delete documents with ease. Our JSON editor makes working with complex nested data structures simple. Learn more
Download for free >
MongoDB Collection Editor
Manage your MongoDB collections with ease. Create, modify, and delete collections, plus create and manage indexes to optimize your queries. Learn more
Download for free >
MongoDB Data Import & Export
Export your collections or query results to CSV, Excel, or JSON formats with just a few clicks. Import data from various formats into your MongoDB collections just as easily. Learn more
Download for free >
Beekeeper’s Team Workspaces let you easily work across multiple machines and share connections and queries with your colleagues. All data is encrypted at rest and in transit, so your information always stays secure. Learn more.
Download for free >
Beekeeper Studio was clean, smooth and just worked — ⭐⭐⭐⭐⭐ Mike
Even More GUI Features For MongoDB
-
Modern and easy to use MongoDB GUI client — We sweat the details. There are no ‘tabs within tabs’, cryptic buttons, or
old-school Java swing interfaces. - Document Editor — Edit MongoDB documents with our intuitive JSON editor, making it easy to modify complex nested structures.
- Collection Explorer — Browse and search your MongoDB collections with powerful filtering capabilities.
- MongoDB Shell Access — Access the MongoDB shell directly within Beekeeper Studio for advanced operations and commands.
- SQL Support for MongoDB — Use familiar SQL syntax to query your MongoDB collections, bridging the gap between SQL and NoSQL worlds.
- Tabbed Interface — Open a bunch of queries and tables all alongside each other.
- Open Multiple MongoDB Connections At Once — give each connection a color, and run them all at once if you wish.
- Save SQL Queries For Later — Our built in data store lets you save queries for when you need them.
- MongoDB Table Creation and Editing — We have a built-in, easy to use GUI interface.
- Edit MongoDB Data — Edit database records in MongoDB in-line with only a couple of clicks.
- MongoDB SQL Auto Completion — A useful autocomplete editor that doesn’t get in your way.
- Pinned Tables — Keep your most-used tables and views at the top of the sidebar for easy reference.
- MongoDB Run History — Beekeeper Studio keeps track of the SQL queries you run, so you can find the magical code from last week that ‘just worked’.
- Not Just for MongoDB — Beekeeper Studio supports MySQL, PostgreSQL, MariaDB, SQLite, CockroachDB, Redshift, and SQL Server.
- Community Strength — Many features were built by our amazing community of contributors.
The Most Versatile MongoDB GUI Client Available
Beekeeper Studio stands out from other MongoDB GUI tools by offering unique capabilities that make working with MongoDB more productive and accessible:
SQL Support for MongoDB: The Best of Both Worlds
Our MongoDB client includes powerful SQL-to-MongoDB translation, allowing you to:
- Write familiar SQL queries that automatically convert to MongoDB operations
- Use JOIN syntax to work with related collections
- Leverage SQL aggregation functions (COUNT, SUM, AVG) with MongoDB’s aggregation pipeline
- Mix SQL and MongoDB query syntaxes as needed for your workflow
This SQL support makes MongoDB accessible to SQL developers and simplifies the transition from relational databases while still leveraging MongoDB’s document-oriented strengths.
-- Example: Simple SQL query that works in Beekeeper for MongoDB
SELECT name, age FROM users WHERE age > 30 ORDER BY name
Integrated MongoDB Shell: Power and Flexibility
For MongoDB power users and complex operations, our integrated MongoDB shell provides:
- Direct shell access within the Beekeeper interface — no need to switch applications
- Full support for MongoDB syntax including aggregation pipelines and complex queries
- Command history and autocompletion to speed up your workflow
- Syntax highlighting for MongoDB commands and queries
// Example: Run complex MongoDB aggregation pipelines
db.orders.aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$customer_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
])
Seamless Document Editing
Our intuitive JSON document editor makes it easy to:
- Navigate and edit complex nested documents with collapsible sections
- Add, modify, or delete fields with syntax validation
- Format and beautify JSON documents automatically
- Validate documents against collection schemas (if defined)
Advanced Querying and Filtering
Beekeeper Studio provides powerful query capabilities for MongoDB:
- Visual query builder for creating complex MongoDB queries without code
- Full-text search across collections
- Save and organize frequently used queries
- Query history for easy reference and reuse
A Truly Cross-Platform MongoDB GUI Client
Beekeeper Studio has 100% feature parity across Linux, MacOS, and Windows. So no matter which operating system you work (or play) from, you can query and edit MongoDB with all of our features, no compromises.
We use a cross-platform app development framework to make sure that you get the best MongoDB GUI client experience, regardless of whether you use MacOS, Windows, or Linux.
Beekeeper Studio also works great on Chromebooks, Raspberry Pi 3+, and maybe even the odd toaster or fridge (if they run Linux).
Beekeeper Studio was perfect when I began using all three major OSes regularly. —
⭐⭐⭐⭐⭐ Jeff
Windows
Beekeeper Studio is available for Windows, so you can easily query, edit, and manage your MongoDB databases. Beekeeper Studio’s Windows download is available from our download page as either an installer or a portable .exe file. Beekeeper Studio supports Windows 10+, more information is available in our Windows documentation.
MacOS
Beekeeper Studio integrates seamlessly into the MacOS environment for querying, editing, and managing MongoDB. Beekeeper Studio’s MacOS app is available the downloads page. Beekeeper Studio supports both Intel and Apple silicon Macs. More information is available on our MacOS documentation page.
Linux
Beekeeper Studio’s MongoDB GUI has full feature parity on Linux. Linux is a first-class OS to the Beekeeper Studio team, and we think it’s the best way to edit, query, and manage your MongoDB database. Beekeeper Studio works great on all major distributions, including Ubuntu, Fedora, and Arch. You can get Beekeeper Studio’s linux client on our download page. Learn more on our Linux docs.
All Purchases Support Open Source
Beekeeper Studio is built by me, Matthew Rathbone and a small team of part-time developers. We build software we care about. We’re not part of a big corporation, and we don’t have a large investor in the background writing checks. Unlike many of our well-funded competitors, we make a large part of Beekeeper Studio open source, and we also publish a generous Community Edition. We’re on a mission to make good software available to everyone. Every purchase supports open source, and our mission.
I hope you enjoy using Beekeeper Studio as much as I enjoy making it.
What is MongoDB?
MongoDB is a popular NoSQL document database that stores data in flexible, JSON-like documents. It’s designed for scalability and developer agility, making it ideal for modern applications with evolving schemas. Learn more about MongoDB on the official website.
MONGODB Client
The MongoDB client for navigating and viewing BSON
*****
4.7 (100+ REVIEWS)
#1 HIGHEST RATED
IN DATABASE MANAGEMENT SYSTEMS
*****
4.7 (100+ REVIEWS)
#1 HIGHEST RATED
IN DATABASE MANAGEMENT SYSTEMS
A TOP-PERFORMING MONGODB VIEWER
A MongoDB viewer you can trust
DbVisualizer has a long history of being a top-performing database editor.
It includes support to connect, navigate and view your BSON documents in your MongoDB database.
FREE TRIAL
Try DbVisualizer Pro
for free
Start your free 21 day evaluation of DbVisualizer Pro
MAVEN
Driver management via Maven
DbVisualizer always offers the most up-to-date driver for MongoDB. Utilizing the driver manager, you can effortlessly connect to your databases using drivers hosted on Maven, with a variety of versions at your disposal.
AWARDS
Used and rated
by the best
Recognized by industry leaders and honored
across top review platforms!
FAQs
WHAT IS MONGODB?
MongoDB is a popular open-source NoSQL database management system. MongoDB is a document-oriented database, which means it stores data in a format similar to JSON documents..
View +
Hide —
WHAT IS A MONGODB CLIENT?
A MongoDB client is used to connect to and perform various database operations in the MongoDB database.
View +
Hide —
WHAT IS MONGODB DATABASE CLIENT USED FOR?
To connect, navigate, and view your MongoDB database you can use a database client.
View +
Hide —
HOW DO I CONNECT TO MONGODB WITH DBVISUALIZER?
DbVisualizer has a driver manager built in that you can use to connect to MongoDB.
View +
Hide —
HOW CAN I USE DBVISUALIZER AS A QUERY TOOL?
DbVIsualizer has a visual query builder, that automatically generates SQL code as you drag and drop tables and select values to include.
View +
Hide —
HOW DO I GET STARTED TO USE MONGODB WITH DBVISUALIZER?
Download DbVisualizer, and connect to your MongoDB database. Try the Pro version for 21 days or buy the Pro version to get the full function set. You can also use the client for free with limited functionality.
View +
Hide —
CAN I CONNECT TO MONGODB AND OTHER DATABASES USING DBVISUALIZER AS A MONGODB CLIENT?
Yes you can! DbVisualizer can connect to many different data sources to navigate and manage data.
View +
Hide —
WHAT OBJECT TYPES ARE SUPPORTED IN THE DBVISUALIZER MONGODB CLIENT?
DbVisualizer has support for MongoDB object types, you can see the full list of supported object types here.
View +
Hide —
WHAT ARE SOME OF THE FEATURES OF THE MONDODB GUI IN DBVISUALIZER?
DbVisualizer is built to make your life easier and you can easily customize the layout and functions to match your workflow. This list of features is supported in DbVisualizer for MongoDB.
View +
Hide —
WHAT IS THE DIFFERENCE BETWEEN A MONGODB CLIENT, A MONGODB GUI, A MONGODB IDE, A MONGODB EDITOR AND A MONGODB WORKBENCH?
Those different environment labels in which you work with your database does mean more or less the same thing. While a client indicates that you have a server elsewhere, the GUI refers to the graphical interface of the application. IDE refers to the larger «integrated development environment» and the editor refers to in actual part of the client in which you write your code. A workbench focuses more on the process of development itself. However, all of these have come to be synonym in how people refer to the application in which you do the actual coding.
View +
Hide —
IS THERE A DATABASE BROWSER IN DBVISUALIZER?
Yes, for each database you can see the tables, relations and custom objects that have been created.
View +
Hide —
Notify me when new features are announced