Live data from Hacker News

Never, ever, ever use MongoDB

cryto.net

11–20 of 122 posts

Re: Never, ever, ever use MongoDB

#11
Or: You could just RTFM and avoid all these issues.

For example: The message warning you that 32bit builds are not safe for storing more than 2GB of data is larger than the download button itself. If don't see this, you should probably be not in charge of storing any data anyways.

Many other issues have been resolved with the 3.0 release or are documented very clearly.

Re: Never, ever, ever use MongoDB

#12
Been there, done that. Spent over a year trying to make Mongo behave like a decent DB, and it would still fail to do so.

Actually, I wrote a small "goodbye letter" to MongoDB on HN in the past:

"You got your chance, Mongo, and you screwed it up.

I tried getting the most out of you. I treated you like a princess, I indulged you, your wishes became my wishes and your thoughts were my thoughts. I stopped listening to all that criticism around you and thought of you as of a misunderstood child, even as you would refuse to do even the easiest tasks one could imagine.

I gave you everything there is to give, but you broke my heart. You left me in the most critical moments. I trusted you, but you would go your own way. Tears were shed and countless sleepless nights were to follow.

Remember that night you disappeared without leaving a sign? I sent you messages which got a response only after many hours. You didn't give a damn about my needs. Once, you told me: "it's not me, it's you". And I believed you, I truly did.

It's over now. It's been some time without you, and I'm getting better. I have discovered, that not everyone is like you. Some DBs care, they really do. You can trust them, they give you their everything.

I'm still struggling falling in love again, but it's getting better. Don't write me back. Goodbye."

Here's the link: https://news.ycombinator.com/item?id=8990754

Re: Never, ever, ever use MongoDB

#14
post #9

I think people only use it because it stores JSON and let's you query it arbitrarily on demand. It appears to be as good as CouchDB, but with on-demand queries, as good as Postgres, but with JSON (!). It appears to be quick and easy and the tool for the job. Also, when people say NoSQL they actually mean MongoDB.

> Also, when people say NoSQL they actually mean MongoDB

That's just not true. There are tons of NoSQL solutions that are well known. Redis.

Re: Never, ever, ever use MongoDB

#15
post #2

Not even a hackathon?

MongoDB has THE WORST vendor lock-in imaginable, so only use it if you know that you could throw everything away.

Source: my last employer used MongoDB, and switching to an RDBMS would have forced us to rewrite ~80% of the codebase.

Re: Never, ever, ever use MongoDB

#16
post #4

How would one use Meteor.js without MongoDB though? Are you saying not to use Meteor.js too? I was thinking about maybe toying with the idea of making a fully reactive RethinkDB package for Meteor.js.

You don't.

In fact it's the reason I'm not using Meteor, which is a shame because it looks really good. The optimistic UI feature is something I really want, and have had to implement my own custom solution for. I've nothing against Mongo per se, I just need a relational database.

Since most apps are likely better suited to using a relational database, I'm curious as to Meteor's original decision to go with Mongo. Would love to know their rationale behind that choice if anyone can enlighten me / point me towards any articles?

Re: Never, ever, ever use MongoDB

#17
post #4

How would one use Meteor.js without MongoDB though? Are you saying not to use Meteor.js too? I was thinking about maybe toying with the idea of making a fully reactive RethinkDB package for Meteor.js.

Definitely never use a technology that's married to a single backend.

Re: Never, ever, ever use MongoDB

#18
post #9

I think people only use it because it stores JSON and let's you query it arbitrarily on demand. It appears to be as good as CouchDB, but with on-demand queries, as good as Postgres, but with JSON (!). It appears to be quick and easy and the tool for the job. Also, when people say NoSQL they actually mean MongoDB.

Cassandra, Couch, Redis, Riak, Dynamo...

Re: Never, ever, ever use MongoDB

#20

Or: You could just RTFM and avoid all these issues. For example: The message warning you that 32bit builds are not safe for storing more than 2GB of data is larger than the download button itself. If don't see this, you should probably be not in charge of storing any data anyways. Many other issues have been resolved with the 3.0 release or are documented very clearly.

1. There was no such warning for a long, long time.

2. It's a dumb limitation, and an architectural issue as far as I'm concerned.

3. It still doesn't justify silently throwing away data for years.

4. Many of the points on my list remain unaddressed, and likely never will be addressed.

EDIT: Additionally, the typical system administrator doesn't install MongoDB from the 'Downloads' page, but uses a package manager, and thus never sees the warning even if it's there.

Warnings like this belong in all the relevant spots in the documentation, not just on a download page.

Post reply on HN