Daniel Njeru
June 17, 2023

Using Mingo with FerretDB

Mingo is a suitable solution for a GUI for MongoDB and its open-source alternative, FerretDB. Since FerretDB is open source, developers can fully control and adapt it to suit specific needs. FerretDB with Mingo will offer you a visual representation of data and a user-friendly interaction, among other benefits.

What is FerretDB

FerretDB is the open-source alternative for MongoDB. Initially, MongoDB was open source, and due to its robust documentation, it was preferred by developers needing an open-source database. FerretDB was founded when MongoDB switched to an SSPL license abandoning its open-source roots. The change in license by MongoDB made it unusable for many Open Source and Commercial Projects. Unlike MongoDB, FerretDB is under Apache License 2.0. FerretDB is the perfect solution for MongoDB users searching for an open-source alternative. The icing on the cake is that you can run similar MongoDB protocol queries without learning a new language.

In a recent interview, Alexey Palazhchenko, the CTO at FerretDB, stated that they aimed for their software to work with unmodified MongoDB drivers and applications. Another main idea before creating the software is that it should not store data by itself. True to it, FerretDB does not store data but is built on top of PostgreSQL. This implies that PostgreSQL is FerretDB’s main backend which is fully supported.  FerretDB also supports SQLite back end and is working on having an SQLite backend and SAP on HANA compatibility. The reason for having multiple backend alternatives is that users may want to use different backends for performance reasons.

The founders of FerretDB are always keen to emphasize that it is not another NoSQL database. Rather, it helps you leverage the power of the MongoDB ecosystem. That way, you can use all tools, drivers, and UIs like you would with MongoDB. Additionally, you can use the same query language and run it all on PostgreSQL or SQLite.

How FerretDB works

FerretDB is built on top of PostgreSQL. It stores documents in binary JSON format using the corresponding PostgreSQL column type. Since it does not store data by itself, it leverages the tables in PostgreSQL to store database structure information like database names, collections, and user access management. It translates MongoDB wire protocol queries to SQL for compatibility with existing software and tools built on MongoDB. The FerretDB community is addressing any incompatibility issues that emerge.

Benefits of using FerretDB

  • Open source and huge community: FerretDB’s open-source nature allows developers to have full control over it and can adapt it to suit specific needs. This is coupled with the large online community of developers and engineers willing to help you in case of any technicalities.
  • PostgreSQL backend: The software primarily runs on a PostgreSQL backend which is also open source. PostgreSQL is highly reliable and equally has a large community. You will also benefit from its ability to handle large amounts of data and complex queries, which can be an added advantage.
  • User-friendly: This is the case, especially if you have been a MongoDB user. You can kickstart your journey with FerretDB without learning new syntax. There is also no need to learn a new language.
  • Best of both worlds: When using FerretDB, you can build on proven and reliable open-source software. At the same time, FerretDB has MongoDB-like APIs and features developers love.

FerretDB and Mingo Setup

Scaleway and Civo MarketPlace are two cloud providers that have availed FerretDB for installation. However, for this setup, we will use Docker for installation. FerretDB Docker installation offers a complete guide on installing the software on Docker. If you do not have Docker installed on your machine, you should start by setting up Docker.

With that, you have FerretDB installed and ready to use with Mingo.

Mingo has first-class support for FerretDB, but FerretDB is not 100% compatible with MongoDB API, so some of the features are not usable. To get Mingo, we need to visit the Mingo website to get the appropriate version for our machines. The second step is downloading the desktop application in macOS, windows, and Linux.

Connect Mingo with the FerretDB instance

Open Mingo and click “New Connection” on the welcome screen to set up a connection. That way, you should be able to set up your connection. Proceed to connect FerretDB Mingo using MongoDB URI.

Basic operations

Like when using MongoDB, existing databases in the FerretDB instance will be displayed in the list of available databases on the Mingo screen. Alternatively, you can create a database and add collections by clicking “Add Collection.” Going forward, you can execute any operation as you would when using MongoDB on Mingo.

Advanced operations

FerretDB can perform complex operations using aggregation pipelines to transform data. This cements the fact that it is an open-source alternative to MongoDB. Other than aggregatecount, and distinct aggregation pipeline commands, FerretDB supports the following aggregation pipeline stages:

  • $count
  • $group
  • $limit
  • $match
  • $out
  • $skip
  • $sort
  • $unwind

A list of the supported FerretDB commands can be found here.

Finally, FerretDB also supports unique index creation. It is another advanced operation you can perform in these fields.

Read more

v1.13.5 released

We are regularly releasing new versions and did it again today. The latest release contains several UX improvements, fixes 4 reported bugfixes (thanks!) and 10+ unreported issues we found ourselves. Please keep reporting issues, we appreciate any feedback! Mingo should suggest the update automatically, or you can download it directly from our Download page.
Radoslav Toth

Taking Your Company to New Heights with MongoDB Charts in Mingo

Today we demystify how Mingo can ease your pain as a MongoDB user. Mingo has had positive reviews from all companies that have tried it out. Some users have loved it for its wide range of features that are not in other GUI tools, while others have remained loyal to us due to our favorable […]
Daniel Njeru

How to set up MongoDB charts in Mingo

MongoDB charts are used to create a visual representation of MongoDB data. With MongoDB charts, you can communicate insights clearly and concisely. The feature will be useful when analyzing trends, presenting information, or making data-driven decisions. Complex information is conveyed in a more accessible format. That way, you can focus on developing actionable plans. Mingo […]
Daniel Njeru

Demystifying Data Modeling in MongoDB: A Step-by-Step Approach

Data modeling is the process of defining how data is stored and the relationships that exist among different entities in your data. The organization of data inside a database is referred to as a schema. When developing your schema, put more thoughts on your application than your database. A good data model makes data management […]
Daniel Njeru

Indexing Strategies for High Performance in MongoDB

Indexes are unique data structures that store a small portion of the collection’s data in an ordered form that is easy to traverse and search efficiently. They point to the document identity and allow you to look up, access, and update data faster. In MongoDB, indexes are used to improve query performance. Indexes improve query […]
Daniel Njeru

Which companies are using MongoDB

Those who come bearing advice are rarely popular. Daedalus did not do his son Icarus any favors by warning him not to fly too close to the sun as his wax wings would melt, causing him to fall. Had Icarus not ignored his father’s advice, he would not have plummeted to his death. By all […]
Daniel Njeru

New version released: 1.13.1

Here's a short list of bug fixes and improvements in our latest release. It is definitely not complete, there are many minor goodies we didn't even mention here. Enjoy! Bug Fixes Enhancements We would like to thank all the contributors for their valuable feedback and bug reports. Your contributions help us make Mingo better. Please […]
Radoslav Toth

MongoDB Atlas vs. self-hosted MongoDB quick guide.

It is plain as day that MongoDB has been a popular database solution for many applications in the recent past. One may argue this is due to its flexibility, scalability, and ease to use. However, Organizations are faced with opting for MongoDB Atlas, a fully managed cloud-based database service, or having MongoDB set up and […]
daviddurika

5 proven MongoDB performance optimization techniques

MongoDB is among the most popular NOSQL databases currently. It’s no secret that developers working on high-performance applications ally with MongoDB. It is a document-based database that is highly scalable and hence handles large amounts of data.  MongoDB can handle data ranging from small data sets to large and complex stacks of information. Whether working […]
daviddurika

We released v1.12.1. What's new?

We have just released a new version and I wanted to summarize what we added or changed. There is a long list of bug-fixes and minor improvements, but three points stand out most. Managing company licenses So far, there was no way to manage company licenses in Mingo. Now, if you have a company account […]
Radoslav Toth
1 2 3

Download Mingo now

The best MongoDB GUI Admin. Intuitive • Fast • Secure
Download Now