I can't see using MongoDB for any production project. It combines a limited replication/sharding model with a poor single-server durability, lack of tunable CAP constraints, and some surprising performance bottlenecks.<p>If you want integrity and SQL, use PostGres. If you want volatile speed, use Redis or Membase. If you want a rich data model and excellent durability with limited but highly configurable replication, experiment with Couch. If you want federation, predictable horizontal scaling, and HA, perhaps look at Voldemort, Cassandra, HBase, or Riak. There are a lot of good datastores out there, and chances are one of them fits your needs better.<p>Edit: I think <a href="http://www.paperplanes.de/2011/1/10/mongodb_and_data_durability.html" rel="nofollow">http://www.paperplanes.de/2011/1/10/mongodb_and_data_durabil...</a> basically sums it up. When the Mongo folks started telling me that kill -9 should never happen to any database, I stopped taking them seriously.