Evaluating document-oriented storage, what are the pros and cons of CouchDB vs MongoDB?

closed as not constructive by CoderHawk Aug 17 '11 at 12:55

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    I VtC because this seems like the opposite of where the site wants to be. This is pretty well documented on many blogs and is the subject of much discussion on the intertubes. It also seems too open ended. YMMV. IAmOnlyOneMan. – jcolebrand Jan 5 '11 at 5:43
  • Fair criticism, drachenstern. – Abie Jan 6 '11 at 5:15
  • @jcolebrand - I second :) Closed! – CoderHawk Aug 17 '11 at 12:55
  • @Kev Ω - Yes! it is the best example of Gorilla vs. Shark – CoderHawk Aug 17 '11 at 12:58
  • Wow, I VtC'd that a long time ago :/ – jcolebrand Aug 17 '11 at 13:11

There are a lot of differences between the two of them. MongoDB is more like a traditional RDBMS (nobody shoot). CouchDB performs master-master replication. It's pretty well documented in this much ballyhooed blog post.


Both are currently evolving, so if you chose one today, you may find that you need to switch later.

I know of a company that did a thorough review of both, with prototype apps implemented in both, and they made a well-informed choice based on the project requirements. Initially, they had success with their choice, but after about 6 months, some of the requirements were more fully understood, and they ran into a problem. Now, they are migrating to other db. During those 6 months, the other db added some features that allowed the company to overcome its problem, but the chosen db maintainers had worked on different problems and feature sets.

In short, it seems to me that you need to dig in and see what works good enough for your project. Keep tabs on the other choices, so that if you encounter an impossible problem, you can decide if switching makes sense.

Not the answer you're looking for? Browse other questions tagged or ask your own question.