In this blog post, we will talk a bit about the product MongoDB Compass. This new tool has 3 main versions, these being: Community, Enterprise and Enterprise Read Only. MongoDB Compass Community is free, but a bit limited. It allows you to connect to your MongoDB Database to run queries, check queries execution plans, manage indexes, and create, drop/create collections and databases. The paid-for version offers some additional features such as Schema Analysis, Real Time Server Stats, and Document Validation.
We will focus on the Community version here, and look at how we can work around its limitations using free open source software.
Of course, MongoDB 3.6 was released in November 2017 and it comes with a lot of new features. We’ve already covered those in some of our blog posts and webinars, which you might find interesting:
- What’s new in MongoDB 3.6 – webinar
- MongoDB 3.6 Transactions – blog post
- MongoDB 3.6 Change Streams – a Nest Temperature Fan Control Use Case
Using MongoDB Compass Community
The installation is very straightforward and it is available to all operating systems. We used MacOS version as an example but the product looks the same in all supported OS, including Linux with GUI.
Here are the main screens of MongoDB Compass, they are pretty self-explanatory.
Collection content (Documents)
In the community version, we don’t have Real Time Server Status, Document Validation, or Schema Analysis available. I’ve left these features offered by MongoDB Compass Enterprise out of this article.
However, following the philosophy offered in an earlier blog post — why pay if open source has you covered — I’d like to demonstrate some free tools that offer the same functionality.
I should highlight that Percona doesn’t have a partnership with those companies. These examples represent my suggestions on how open source software can deliver the same functionality as enterprise versions. There are other options out there, and if you know any that you think should be here please let us know!
For schema validation, it is very likely that Compass is running behind the scenes something similar to Variety, an open project from James Cropcho and currently maintained by a few people https://github.com/variety/variety#core-maintainers.
With this tool, users can generate reports about collections, schemas, and field types.
Schema validator is a wrapper to create collection validation, this blog post from MongoDB explains in details how to create validations
Real-time Server Status
Real-time Server Status shows details about the server itself. It shows the current number of operations, memory used and network throughput. Those metrics can be gathered with open source or “homemade” scripts.
Most of the metrics are based on db.serverStatus()
We also have Percona Monitoring and Management, or PMM, that provides enterprise-grade monitoring features free of charge and not only monitors MongoDB but also MySQL and PostgreSQL see more at https://www.percona.com/doc/percona-monitoring-and-management/index.html
However, if you didn’t like Compass there are a lot of GUI tools available to run queries with IntelliSense, and this search will reveal the most common ones.
In summary, Compass is a great tool. However, with the limitations imposed in the Community version, it is just another user-friendly client. It is up to the user choose Compass over the other options available and if Community Compass is your option I hope you found this discussion useful.
Learn more about Percona Server for MongoDB