Why did we choose MongoDB for our projects? Here’s a quick overview of the five big reasons that convinced us. From its perfect fit with JavaScript to its unmatched flexibility and growth.
The primary language we use is Javascript, and MongoDB is a Javascript database with JSON documents and Javascript query languages, which basically provide code-native data access. That is also the reason why the MERN stack (MongoDB, Express, React, and Node.js) exists and is so popular.
When we started working on Countly, we knew we would not want to limit our customers to specific columns that we could store. Our approach was always to provide a concept of user and event (user action) and allow customers to store any data together with them (segments/user properties). At that time, MongoDB was the only database that allowed this. And within the same collection.
Even now, we still utilize this to the fullest, allowing us to not just store any data together with user users and events but also query by any fields.
Similarly, aggregating data is so flexible that every time we need to aggregate different types of data, we can come up with a new scheme and utilize it.
No other database has evolved and added as many features as MongoDB. From small new query operators to complex concepts such as time series collections and materialized views.
When trying to support third-party drop-in replacements, we always notice they are at least a year behind current MongoDB features. That is how fast the evolution and feature development is.
Just last year, we wanted to optimize high-cardinality data storage with bitsets to quickly calculate unique values and not consume lots of disk space. Still, MongoDB needed the bitset operation to implement it efficiently.
Coincidentally or not, MongoDB added those features just a month after in MongoDB 6.3, and they are now generally available in the MongoDB 7 release.
An aggregation framework is basically a separate programming language that transforms your data in any way you want for visualization in your application. This allows offloading of complex and high-load calculations to beefy database servers, leaving the application servers small and stateless.
Countly fits an extensive range of customers, from small businesses that might utilize Countly Lite or Countly Flex to large on-premise enterprises that use Countly Enterprise. And MongoDB's offering matches each and every case.
Smaller companies using Countly Lite can use the MongoDB community version for free. Large Enterprises can purchase MongoDB Enterprise for extra security, support, and tools to help manage databases more easily.
However, if the customer does not want to manage the MongoDB server themselves at all, they can utilize MongoDB Atlas, a fully managed MongoDB server, to work with Countly.
So, there you have it. Our journey with MongoDB has been transformative, streamlining out operations and catering to every customer’s needs.