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

Mongo looks like its emerging as the preferred NoSQL platform on Rails at least.

As an admittedly rough measure, check out the number of "watchers" on github for each project's leading plugin:

1106 - MongoMapper http://github.com/jnunemaker/mongomapper

536 - CouchREST http://github.com/jchris/couchrest

312 - Cassandra http://github.com/fauna/cassandra

I've only built one rails app with nosql in it, but at first glance at least Mongo seemed the most fully baked of the group.



Don't forget:

695 - Mongoid http://github.com/durran/mongoid

seems to be the Rails/Mongo project to watch. They got a slick looking homepage too: http://mongoid.org

Hoping to try using it on my next project.


We've used both MongoMapper and Mongoid, and are very happy with Mongoid. It has nice ActiveModel integration, so it works quite well with Rails 3.


Seconded, using Mongoid over MM here too. It rocks.


Currently the choice between MongoMapper and Mongoid is pretty simple. If you're using Rails 2.3.x, MongoMapper. If you're using Rails 3, Mongoid. The ActiveModel integration is key for Rails 3. Mongoid also has great documentation. MongoMapper does not as much consolidated documentation.


I'd also recommend checking out my MongoModel project, especially if you have been dissatisfied with the way MongoMapper or Mongoid do things.

http://github.com/spohlenz/mongomodel http://www.mongomodel.org

It's not quite as mature, but more documentation updates are currently in progress.


Not sure I totally understand. But it looks like its just a rewrite of MongoMapper for Rails3? Seems like the structure is very similar.

What didn't you like about MongoMapper and/or Mongoid? Starting from scratch is a big job.


Firstly, MongoModel was started back in November '09 when both MongoModel and and Mongoid were much less mature than they are now. I spent some time contributing patches to MongoMapper but stumbled as I was working on edge rails.

MongoMapper in particular has come a long way since then but still has a few issues in my mind. For example, attributes are converted to/from their mongo representation every single time they are accessed, rather than only when the model is saved or loaded. I also believe MongoModel has a nicer model for typecasting property values (see http://gist.github.com/287379 for an example), and I disagree with the use of has_many associations for embedded collections.

MongoModel isn't perfect either, but it has been the path of least resistance for me in getting my app running on MongoDB.


Cool, thanks for the explanation. Btw, mongoid has a new association dsl that I think makes way more sense. embedded_in, embeds_many, referenced_in, references_many. I bet the project would love to see you as a contributor.


To say 'preferred NoSQL' is far too generic, it is as if users have an option between SQL or NoSQL. I would say that MongoDB is becoming the preferred document-based data store - but that has nothing to do with key value, graph, column-oriented, etc. stores that make up what people refer to as 'NoSQL' (which is a loaded term)


I've used MongoMapper for a couple projects and been really happy with it. John Nunemaker is doing a great job with it.


Anyone uses Riak? How does it compared with Mongo?


We host both for our users, and use Riak for our own datastore. They're both awesome, but quite different.

Here's a pretty thourough comparison: https://wiki.basho.com/display/RIAK/Riak+Compared+to+MongoDB

Note: written by the authors of Riak, but MongoDB contributors chimed in on the comments.


Mongoengine is pretty tight for python/mongo




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

Search: