MongoDb is flexible enough that it shouldn’t be a big deal to increase a field length. It should be a simple front end change. In Israel they are changing the license plate numbers to 8 digits. This means that all of the inflexible , old software that uses a Relational Database will need to be replaced. I assume that not every garage has a current service agreement with the local Garage Software vendors.
Since MongoDB is as popular as it is today, there should be more good than the bad and the ugly. If not, developers wouldn’t accept it. Below are a few good things about MongoDB.
Flexible Data Model
In today’s dynamic use cases and ever-changing applications, having a flexible data model is a boon. A flexible data model means that there is no predefined schema, and the document can hold any set of values based on any key.
Expressive Query Syntax
The query language of MongoDB is very expressive and is easy to understand. Many would say that it’s not like SQL. But why should we stick to a SQL-like query language when we can move forward and be more expressive and simple?
Easy to Learn
MongoDB is easy to learn and quick to start with. The basic installation, setup, and execution doesn’t take more than a few hours. The more robust setup might be complex, but I will talk about it later.
You should be able to use the MongoDB database with ease in your project.
Query performance is one of the strong points of MongoDB. It stores most of the workable data in RAM. All data is persisted in the hard disk, but during a query, it does not fetch the data from the hard disk. It gets it from the local RAM and, hence, is able to serve much faster. Here, it is important to have the right indexes and enough RAM to benefit from MongoDB’s performance.
Scalable and Reliable
MongoDB is highly scalable, using shards. Horizontal scalability is a big plus in most NoSQL databases. MongoDB is no exception.
It is also highly reliable due to its replica sets, and the data is replicated in more nodes asynchronously.
Nonblocking IO using async drivers are essential in all modern applications that are built for speed. MongoDB has async driver support for most of the popular languages.
Having a good documentation can make developers’ lives a lot easier, especially when the developer is new to the technology. MongoDB has superb documentation.
If you are building a website that needs to search all of your data, text search is essential. For example, an eCommerce website with a text-search-enabled database can be a lot more lucrative for the users.
If you need some operations to be performed on the server side and not in your application, you can do that in MongoDB. Put your list of mongo statements in a .js file and execute mongo yourFile.js.
Documents = Objects
The good thing about having a document database is that your object can directly be stored as a single document in MongoDB. There is no need of an ORM here.