Was looking for a visual client for MongoDB database worth it? Definitely!

Fortunately, I do not belong to those developers who are satisfied just with a console. It might be because I have only started to use Linux actively two years ago (during that time Linux even invade my personal PC in the incarnation of Elementary OS). Or maybe it's because I'm a relatively short time in a position of a developer. Either way, the significant number of views of "How to close Vim" article on Stack Overflow is caused by me.

The moment, I reached the point of working with the MongoDB database, I was sure I had to find a visual client. Since I like to use and develop FOSS software, I've been searching in these waters. The waters are deep and wild, but soon I found a great solution, that I have been already using for some time - the Robo 3T, which was that time called Robomongo.

It does not offer much more than Mongo shell and it might be said that it is just a graphical extension of it. Robo 3T shows you all databases and collections in the list, numbers rows and provides automatic query completion. That makes it easy to work with multiple collections at the same time or offers a connection manager while defining the ssh tunnel directly, which is quite useful. But you can't expect more advanced features. If you want to export to CSV, you have to write your own Javascript function and let Robo 3T run it. Some time ago, I came across small problems with too little font, when the client was running on multiple screens at the same time.

Still, with those little things around it' s a clever helper. I am just a bit worried about his future because the project has gone under 3T Software Labs which works on Studio 3T. Unlike it, Robo 3T is an open source and as I went through some experiences - it seems like the best OSS projects have usually just a few of main developers who leads the direction of how the future of the project ends up. Here we reach our pain point. If an open source is an anarchy, it indeed doesn't end up well. Especially, when these developers are working alongside on a competitive commercial solution. The question arises: "Will these developers be really serious about implementing new features?!"

So far I have the impression that 3T Software Labs will want to make Robo 3T a free and poorer alternative to the 3T Studio, which will also serve as an advertisement for their commercial solution.

Of course, I'm realistic and I'm aware that the development of more advanced features costs money. After all, I decided to try Studio 3T and haven't changed since then. It indeed offers a lot, and much more than we need in our projects so far.

But let's have a look at which features made my work with Mongo easier.

  1. The most crucial one is the aggregation interface on which you can build (what the surprise), aggregation! Studio 3T offers a good compromise between graphic representation and the text representation. The interface is not too cluttered, so for that composing aggregation does not become a clicking hell. On one hand, you still have to write the content manually to the content of the individual phases, but on the other hand, it is useful to have each stage in your own tab, because you can quickly change their order or view the output of one phase from the chain. When you're finished, you can simply export your aggregation to the text. If for some reasons, you have to do changes and find out, you are still not done, you will miraculously import it back.
  2. Another frequently used feature in our company is export of collections, aggregations or queries in different formats. Certainly, I would expect the export and import from the client, but not all of them can handle it, and not all of them can manage it as well as Studio 3T. So far, it hasn't happened that I was unable to export the content exactly as I need it. What a real power is that as you don't waste time on finding a solution or another client that can do so well.
  3. I was also very attracted by the new feature, which I, unfortunately, did not have the chance to use, even though, it would be great for us. It's the automatic aggregation conversion to different languages like Javascript, Java, Python and C #. All of these are supported. It means, if your software consists of components written in different languages, this feature is invaluable. Just select the target language on the tab and it's done!!

Do you also use database clients to solve your projects? If not, find some time to try it out. It's worth it and you will not regret. Of course, one client varies from another client, but at least in our case, Studio 3T has made it way easier for us. What's more, finally I'm having fun with the aggregations.


Our team
OUR SCRUM MASTER