Ruby中您最喜欢的ODM是什么? MongoMapper,MongoID还是MongoDoc?

时间:2010-03-10 09:14:28

标签: ruby mongodb mongoid mongomapper

在Ruby中,目前维护了3个ODM(对象数据映射器):

您最喜欢哪个?为什么?

8 个答案:

答案 0 :(得分:5)

我刚刚选择Mongoid作为一个新的Rails 3项目,基于它拥有最好的文档。

由于我是MongoDB的新手(拥有多年的MySQL和一些CouchDB经验),我需要一些好的指南,这些指南可以帮助我在合理的时间内完成工作。

AFAIK Mongoid就是这样的:一个漂亮的网站,为我这样的新手提供了详细的指南。

答案 1 :(得分:4)

Mongoid和MongoMapper的代码统计信息 enter image description here

看起来MongoMapper具有更好的代码质量(如果它以相同的方式做得更少)。

这是分析器CodeStats https://github.com/alexeypetrushin/code_stats

答案 2 :(得分:3)

在我看来很难说哪个更好,如果你有DataMapper经验你会喜欢MongoMapper,但如果你使用ActiveRecord,Mongoid它是你的首选。我相信所有这些都值得您尝试使用它们的上下文。

答案 3 :(得分:2)

我正在使用MongoMapper。它很好,除了时间转换有点慢。 它将所有数据加载为Array。例如,MyCollection.all为您提供了巨大的数组,而不是游标。

而Mongoid说: - 针对非常大的数据集进行了优化。

所以我猜你可以尝试使用MongoID,如果你需要速度并拥有大记录集。

答案 4 :(得分:2)

我正在尝试MongoMapper,但我想我会选择Mongoid,因为在快速阅读文档之后,我觉得有点容易。另外,它是由Hashrocket的人开发的,所以这本身就是一个很好的理由。

答案 5 :(得分:2)

虽然不能直接回答你的问题,但我也会考虑直接使用基本的ruby驱动程序。与各种SQL适配器不同,Mongo的ruby类易于使用且功能强大。因为查询是哈希值,所以编写查询通常很容易。真正的优势是访问Atomic Modifiers。如果您从Document数据库中受益,这些修饰符应该在您的工具箱中。

话虽如此,我将继续推荐MongoMapper,因为它与MongoDB的非CRUD部分更加清晰。这两个项目都在这方面取得了进展,自从我在2010年12月进行研究以来,情况可能会发生变化。

答案 6 :(得分:0)

我可以推荐MongoMapper,因为它也适用于rails3(beta和master)。我个人没有尝试你提到的其他2个地图制作者,因为MM在我的工作流程中运行良好,邮件列表非常活跃。此外,代码库非常稳定,唯一的问题是使用rails3 master,所以你应该使用fredwu的分支,它已经包含了对form_for上当前rails3主变化的修复:http://github.com/fredwu/mongomapper.git

答案 7 :(得分:0)