我正在使用rails 3,并使用ActiveRecord开始我的应用程序.现在,我有很多模型,关系开始变得复杂,有些可以用Document-Oriented结构更简单地表达,所以我想尝试迁移到MongoDB并使用Mongoid.
我一直听说你没有必要使用所有MongoDB或者没有任何东西,但你可以在迁移时并行使用这两个.我不知道如何从文档中解决这个问题.
例如,我有:
class User < ActiveRecord::Base
has_many :items
has_many :products, :through => :items
end
class Product < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :user
belongs_to :product
# alot of data that fits a hierarchical document-oriented structure
end
Run Code Online (Sandbox Code Playgroud)
我想最好用一个Mongoid文件替换我的项目ActiveRecord的模型开始,所以我的项目都存储在MongoDB中,我的Users和Products可以留在我的SQL数据库
事情是,我不知道该怎么做.我是以正确的方式来做这件事的吗?
也许另一种选择是保留基础AR项目
class Item < ActiveRecord::Base
has_one :mongodb_item ?? # I know this is wrong
end
class MongodbItem
include Mongoid::Document
belongs_to AR_Item ??? # I know this is also wrong
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
我读过很多人建议将nosql与sql数据存储区一起使用.例如,在mysql中有一些报告审计跟踪或日志信息,在mongodb中有一些线程分层数据.
是否有可能在mysql和mongoid上挂起活动记录的rails?
开箱即用它似乎不起作用...任何提示?或者这是一种不推荐的方法?