Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe this is because the Node.JS community still recommends MongoDB as the perfect database engine for their projects. There is even a name for their stack — MEAN, MondoDB + Express.JS + Angular.JS + Node.JS — which is kind of ironic because considering the rapid evolution of the JavaScript ecosystem having an acronym like that will make no sense in a couple of months since now people prefer React-like libraries / frameworks. Besides the JavaScript community I don't know of any other that enjoys to use MongoDB — which to be fair it's not that bad for what it offers, but you know — or ships it by default in bundle installers which are preferred by many young and/or newbie developers.


Don't laugh -- there's now a thing called MERN, which is basically MEAN with Angular replaced by React.

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.


Could be worse - might be ANGER - Angular.js + Node.js + Grunt + Elixhir + RethinkDB. That might even live up to it's name! Though I guess you could always go full tilt towards insanity and choose MongoDB + Angular.js + Node.js + Grunt + Express.js - MANGE.


> "it speaks JavaScript and you can store objects in it"

They should just switch to ES clearly.


FWIW I've been in the Node/JS community for a few years and I've honestly rarely seen MEAN or Mongo be mentioned outside of blogs and corporate Hackathons (where Mongo is usually a sponsor). Maybe companies use it (I rarely pay attention to what people do with Node at companies) but I'll bet it's because of "hype" and its apparent popularity. Most JS devs I follow or talk to use a SQL database and dislike Mongo.


I'm somewhat frequently exposed to absolute beginners and MEAN does occasionally pop up as one of the various flavours of "I picked a thing before learning the language, now what?".

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.


Regarding rapid change, I've just come off 90 minutes of troubleshooting, whose end result was "upgrade npm to latest". I've never before used a package manager which had to be so often upgraded to solve issues.


We tried with the REEP stack. RethinkDB, Elixir, Elm, Phoenix.


How did that work out?


I should rephrase. We, the community of people using Elm/Elixir/Phoenix/RethinkDB, tried to get the name REEP to catch on.

As far as the stack itself goes, it's wonderful.


Why not PEER? It's catchier, a common English word, and even kinda fitting given RethinkDB's distribution capabilities. And it has much nicer connotations than the MEAN stack.


This is my stack.

TERP Stack : The most adventureous stack for

InTREPid EnTERPreneurs

Tornado RethinkDB Emberjs Python.

LEST GO!


MongoDB is very popular in the Big Data and IOT spaces.

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: