Finding the Right Direction: MongoDB Compass - Community Version
Even though MongoDB's Community Version doesn't include all the bells and whistles, there are some pretty good open source replacements.
Join the DZone community and get the full member experience.Join For Free
In this blog post, we will talk a bit about the product MongoDB Compass. This new tool has 3 main versions: 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 of 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!
With this tool, users can generate reports about collections, schemas, and their 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().
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.
If you enjoyed this article and want to learn more about MongoDB, check out this collection of tutorials and articles on all things MongoDB.
Published at DZone with permission of Adamo Tonete, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.