In most enterprises around 2/3 of the data in the lake is unstructured and comes from multiple systems we don't control or have visibility into. So it just gets dumped into HDFS until someone creates the relevant HCatalog schemas. Having a database like MongoDB at least allows you to extract and access some of the data in an automated fashion e.g. JSON reflection. It's especially useful for adhoc and lightweight model scoring and feature engineering.
Other popular contenders are similar "full stack" or "full featured" solutions like Sails, Meteor and Total.js.
This is generally a result of beginners to Node trying to find something that does everything instead of spending some time learning the basics with a library like Express and going on from there.
As far as the stack itself goes, it's wonderful.
The entire sell of MongoDB in the Node community seems to be "it speaks JavaScript and you can store objects in it". Which of course fails to take into account any of the strengths and weaknesses of MongoDB (in the latter case especially the lack of cross-collection transactions or fast joins -- which in my experience account for 90% of the problems Node developers face with MongoDB).
The main reason MongoDB is popular in the Node community is that both reached peak hype around the same time. So it made perfect sense to bundle both of the "hottest" technologies together. Except by the point Angular 1 reached peak hype MongoDB was already facing criticism, so MEAN mostly seems to bask in its afterglow.
If you had asked me last month, my prediction would have been a RethinkDB+Node+React (or RethinkDB+Node+Angular2) stack popping up to challenge MEAN, though the RethinkDB+Node bit seems to have already been addressed by Rethink's own Horizon.
They should just switch to ES clearly.
TERP Stack : The most adventureous stack for
InTREPid EnTERPreneurs
Tornado RethinkDB Emberjs Python.
LEST GO!
EDIT: We'll just wait for Mongo to burn through all their cash then.
Mongo has a strong community, which translates into a plethora of articles/blog-posts/tutorials/etc that secures its niche. From there it's possible to make money with things like consulting fees to help fix the problems it created in the first place.
It's all about execution. Case and point: I know what (purportedly) makes MongoDB special. I have no idea what RethinkDB is supposed to do, other than store data. Yes, I could check their site, but the point is I'm already familiar with Mongo's reputation. All of this contributes to a lesser product winning over a better one.
Oh, yeah... and the ability to do shard + redundancy, where mongo you're either or have to do both. So scaling works a bit better. The admin tooling for rethink is better than anything I've really used in non-sql databases. And frankly even better than db admin tools, including sql based ones.
It's just a really great, stable database with really good scaling for the majority of use cases.
Half the crap people speak about Mongo seems to be from either the early days, or from people who just like to complain. It certainly has it's issues, but there doesn't seem to be much community will to replace it with $superdupernosqldb.
We run Mongo side by side with PG, and even though the PG is just replicated and not also sharded like our Mongo cluster is, Mongo was more easy to configure.
I think MongoDB's biggest problem is that it was marketed as the general purpose DB in the Node.js community when actually it is a specialised tool. So now you have thousands of developers wondering why they're on this weirdly behaving document store when they could've scaled fine on something more generic like PG.
More on topic: RethinkDB was aiming to be the best of both worlds, generic like PG yet document oriented and horizontal scaling like Mongo. I think their problem is that they didn't manage to pierce the communities. It would have gone better if they had evangelists for every major platform that just produced a stream of blog posts, small open source projects and tools and crashed random meet ups.
(sorry)
But please enlighten us poor fools which open source databases can compete with MongoDB in this space. It sure as hell isn't PostgreSQL.
In Big Data specifically when we are spending tens of millions on Hadoop/Spark/NVidia clusters buying a few extra licenses for MongoDB is nothing. And what makes Big Data even more compelling for database vendors is that often by law or for privacy reasons we are forced to run everything inhouse i.e. strictly no cloud.
I'm not a Windows fan, but that's harsh. http://cryto.net/~joepie91/blog/2015/07/19/why-you-should-ne...
Most of the the points are for issues that were fixed years ago and then you get classics like "forces the poor habit of implicit schemas in nearly all usecases" as if some developer is going to somehow stumble on the fact is it a schemaless database.
It's like trying to say "Linux is shit" because of issues found in 1.0 of the kernel.
https://objectrocket.com/blog/company/mongodb-wiredtiger
It's made a massive difference to performance and stability.
This is the JIRA tracking that Jepsen stale read issue: https://jira.mongodb.org/browse/SERVER-17975