Review of Navicat GUI Tool for MongoDB

Review of Navicat GUI Tool for MongoDB

Choosing the best software for managing your databases always implies spend some minutes of research, that is actually what I personally do and that is how I found Navicat.

As a full-stack engineer, I am always trying with different databases according the requirements of the project and when I first install Navicat for MySQL I just dropped my current environment for managing MySQL databases to fully start using this software which is actually very good for the job.

But this review is not for MySQL but for MongoDB and the recent launch of the management tool from Navicat that was a very expected GUI interface for this NoSQL database over the years.

This review will be summarized in the following topics:

  1. The interface
  2. Object designer
  3. Data manipulation (documents)
  4. Schema analysis
  5. Queries and code completion
  6. Snippets
  7. Automation
  8. Free licenses for students/teachers

The interface

There are software out there that when you want to start using it, you will need to check in their documentation or even watch some videos or read some guides just to figure out how certain feature in the software should work. That’s because the interface is not giving to you a clear view of its functionality.

navicat-mongodb-interface_optimized

But with Navicat, you can easily find that desire function you want to execute because is very intuitive in every aspect and whenever you want to establish a new connection, create a collection, insert a document, run a query, etc. you will always find a very clear path to follow it along with many configurations that will make your experience more enjoyable.

navicat-mongodb-colors_optimized

For example, one of the things I like is that you can set a different color for each Data Type so you can discover at the first glance which Data Type is. This is also very useful for me when I am teaching because the student can easily figure out which Data Type I am setting.

The top navigation bar contains everything you need also the left sidebar so you can execute or visualise the following:

  • Connections (the standard connection with SSH and SSL along with MongoDB Atlas, Alibaba Cloud and Huawei Cloud are available)
  • Queries
  • Collections
  • Views
  • Functions
  • Indexes
  • MapReduce
  • GridFS Buckets
  • Users
  • Automation

And if you ever using a product from Navicat, you will realise that they keep the same guidelines of design (such icons and colours) in all of them and that really helps to avoid wasting time at the time you install a new product from them because you are already familiarised with the GUI.

I am a person that use Linux, Windows and macOS and when I need to use something in two different systems, is not common to see software that look the same between them but this is not the case of Navicat since they build their products to be compatible on those three operating systems you will see the same look and feel.

Object designer

navicat-mongodb-objects_optimized

This is the part where you actually create the structure and set all the configuration of your collection and as I mentioned in the previous topic, every button is well placed to start working on.

You can manage your database objects with a smart object designer that allows you to do a minimal effort in the following aspects:

  • Indexes
  • Validations
  • Storage Engine
  • Index Options
  • Collation
  • Script View

The Script View is a very cool feature because you can see in detail all the operations you are performing at the time of the creation or edition of the collection.

navicat-mongodb-objects-script-view_optimized

There is also a view in the right panel that is being displayed a script that is actually very similar to the one that can be exported with a little difference that the rules and the config are also being displayed.

Data Manipulation (documents)

navicat-mongodb-documents-view_optimized

The data manipulation from a GUI tool is always one of the greatest things because allows you to manage the documents of your collections and all the operations in a single view.

The interface for that task from Navicat for MongoDB offers the possibility to create your documents in at least two ways: one is from the menu by pressing the right-click and selecting Add document and the other one is the + icon, both ways will open a window where you can add your collection structure. It will be empty if you haven’t set any validation rules but if you already set them, then a pre-filled JSON will be there indicating the description of the fields and a button to validate the data you are writing before submit the collection.

navicat-mongodb-add-document-rules_optimized

As you can see, add validation rules from the Validations View in the Object Designer is perfect if you want to keep your data exactly in the way you need.

Another aspect to notice are the different views they have to visualize our data, those views are:

  • Grid view
  • Tree view
  • Text View

The Grid view is the classic one that displays the data in a table format and here is where you can enable the Coloring to add different colors to your Data Types. One thing I noticed is that after you add data to your document (using the ways explained before), you can press Tab or by double-click in the grid to add more rows without display the menu or clicking in the + button again, this actually save time. If you want to edit a single field, you can do double-click or clicking in the Editor icon.

The Tree view shows the data in vertical mode, this is a perfect view for those large documents because it becomes very easy to edit the document instead doing horizontal scroll like the Grid view does and if you need to edit the field data, you just need to do double-click on it.

navicat-mongodb-tree-view_optimized

The Text view is a JSON format view but you cannot edit the information in this one, if you need to edit the document, you must do right-click to perform that task.

navicat-mongodb-text-view-

Regarding the import/export functions, you could import data to your current document in the following formats (using these buttons):

  • DBase file (*.dbf)
  • Paradox file (*.db)
  • Text file (*.txt)
  • CSV file (*.csv)
  • Excel file (*.xls, *.xlsx)
  • XML file (*.xml)
  • JSON file (*.json)
  • MS Access Database (*.mdb, *.accdb)
  • ODBC

And for the export, the same formats plus HTML.

As you can see, Navicat covered the data manipulation very well.

Schema analysis

We all like to see more details about the operations in a database like when it was executed, statistics about the fields… in general, too see an analysis of your documents.

Navicat for MongoDB has an excellent graphical view with an intuitive UI where you could check your documents in detail that allows you to quick visualize and explore your MongoDB data, like:

  • Timeline of the operations (every transaction is being registered to be shown here)
  • Monthly, Daily and hourly visualizations (works with the timeline side by side)
  • Field analysis (data types distribution)

navicat-mongodb-schema-analysis-time_optimized

Queries and code completion

The queries view could be probably similar to other products because you can write a query a get a result in a grid view but this is not the case with Navicat. Like the other views we have been reviewing, the section where you can write your own queries and get some data from them is not the exception.

At the time you are writing something in the editor, you can see the code completion in action. This feature is very helpful since you can see the multiple options for every letter you write and it will save time because even sometimes when you forget an operation, usually look over internet or in the MongoDB documentation to see if you are ok or wrong in the way you wrote the query but with the code completion, you can be sure you will always write the right query.

navicat-mongodb-code-completion_optimized

The beautify script is that function you can use to convert your single-line (or a non-pretty line) query into something more readable and structured. The Query Builder allows you to edit or create a new query using buttons for a Filter, Projection, Sort, Limit with a Script Preview that shows exactly that, a preview of your query, very useful for those times when you don’t want to write too much.

Snippets

And if the code completion or the query builder is not enough, you have another view in the right panel where you can see labels like snippets or templates of queries that indicates to you what the query does and you can copy and paste in your query editor to work even faster. You can add label as much as you need in the future to (again) save time and avoid errors.

navicat-mongodb-query-labels_optimized

Automation

Performing tasks that need to be execute at some exact time, can be manage with this feature that adds scheduled jobs of every action available such as: Data transfer, Data Synchronisation, Export, Import, Queries, MongoDump, MongoExport, MongoImport and Map Reduce. You can optimise your database activities using Automation.

Free licenses for students and teachers

As a Student and a Teacher sometimes becomes hard to teach and learn with new software because the licensing but Navicat has a Academic Partner Program which provides a 1-year free Navicat Essentials license.

If you are a Teacher, you can signup here and Navicat will offer free licenses for your students (for teaching purposes) to your college or university.

If you are a Student, you can signup here and Navicat will offer to you a Navicat Essentials license that will be valid for 1-year.

In conclusion, if you are still using your terminal to manage your MongoDB databases and you want to try the GUI way with a great software or even if you are using an alternative, I highly recommend you to start using it in your projects. Navicat for MongoDB (and even their other products) is a top quality software as you could see in the review.

Navicat for MongoDB | MongoDB Database Administration and Development Tool
Navicat for MongoDB gives you a highly effective GUI interface for MongoDB database management, administration and development.