MongoMapper from John Nunemaker
Mongoid from Durran Jordan
Mongomatic from Ben Myles
MongoODM from Carlos Paramio
MongoModel from Sam Pohlenz
DriverAPILayer from Alexey Petrushin
17票, Aynat答:
I have used MongoMapper for awhile but decided to migrate to MongoId. The reason is hidden issues plus arrogance towards users. I had to jump through hoops to make MongoMapper work with Cucumber (succeeded in the end) and to put a couple of patches even the project was simple, but it's not the point. When I tried to submit a bug fix (due to incompatibility with ActiveRecord), they seemingly got pissed off that I found a problem and I was pushed around. While I was testing, I also encountered a major bug with their query implementation, while their testing was tuned in a way that the tests pass. After my previous experience, didn't dare to submit it.
5票, mtkd答:
Did some testing with MongoMapper last week, it was stable but I found the query interface a little limited (also some of the AR logic was quirky), switched to Mongoid today and it feels much better to use - and more intuitive if you are used to AR.
30票,Nader答:
(2010年一月答案)i've been using both for the past couple weeks. Mongomapper has better support for relational associations (non-embedded) and has greater third-party support. Mongoid has better query support, much better documentation (MM has close to none, though a website is supposedly in the works), Rail 3 support (and thus Devise support) and a slightly more active community on Google Groups.
(2011年一月追加答案)
Since I originally wrote this answer Mongoid has picked up lots of third-party support and the difference in the communities is even greater. In my opinion Mongoid is more of a clear choice today. Performance should be relatively the same as they both go through the Ruby driver. Though you need to be careful with OM not to construct horrendous documents. – Nader Feb 1 '11 at 0:53
better support for embedded documents
better support for very large documents (>500kb)
closer to activerecord, by making use of active model and an arel like query syntax
very nice and lean documentation to be found on the project website..
( 对embedded documents支持的更好
对大数据量的documents支持的更好( 》 500 KB)
更activerecord非常类似。使用了arel查询。
简明扼要的教程,非常棒。)
mongomapper:
better support for reference associations
supposedly it has a bigger community, or at least still had a bigger community last summer
better plugin interface
(对关联支持的更好, 社区很大(起码在写文章的时候,2010年夏天), 对PLUGIN支持的更好)
mongomatic
supposedly it’s faster. there is a benchmark posted on some blog. The benchmark itself can be downloaded on Github
it says it focusses on simplicity