谷歌搜索引导我寻找并行使用mongoid和activerecord的问题。我已经看到很多特定于mongoid的问题和许多特定于activerecord的问题,但没有人比较它们。
我想问题是,使用mongoid db的mongoid适配器和使用mysql运行activerecord有什么好处?
答案 0 :(得分:5)
Mongoid和ActiveRecord都是database ORM(从技术上讲,Mongoid是ODM,但这是另一个话题)。但是,Mongoid仅针对MongoDB数据库,而ActiveRecord针对PostgreSQL,MySQL和SQLServer等关系数据库。
出于这个原因,实际上不可能比较它们。事实上,他们不是另一个的替代品。您使用哪一个取决于您的应用程序背后的数据库。
您可以将ActiveRecord与DataMapper或Sequel进行比较。同样地,你可以将Mongoid与MongoMapper进行比较(实际上你可以,但没有比较,因为最后一个几乎已经死了)。
出于这个原因,我认为这个问题没有意义。我假设人们会因为数据库而选择ORM,而不是因为ORM而选择数据库。
答案 1 :(得分:3)
您正在谈论对象文档映射器(ODM)和对象关系映射器(ORM)。
Mongoid是MongoDB的ODM。 这是一个NoSQL数据库。
ActiveRecord是PostgreSQL(和其他一些)的ORM。 这是SQL数据库。
所以真正的问题是:
我应该使用SQL还是NoSQL数据库?
回答后,您可以选择ODM或ORM。
答案 2 :(得分:-1)
如果需要,请使用MongoDB
如果需要,请使用
两个系统都支持ACID& CRUD,所以如果你也不需要那些,请不要使用它们!