MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como posso usar Mongoid e ActiveRecord em paralelo no Rails 3?


O que eu fiz foi apenas zombar do relacionamento com os métodos em cada modelo AR e no modelo Mongoid assim.
# visit_session.rb
class VisitSession
  include Mongoid::Document
  include Mongoid::Timestamps

  field :user_id, type: Integer
  index({user_id: 1},{name: :user_id_index})

  # Mock a belongs_to relationship with User model
  def user
    User.find(self.user_id)
  end
end

# user.rb
class User < ActiveRecord::Base

  # Mock a has_many relationship with VisitSession Mongoid model
  def visit_sessions
    VisitSession.where(user_id: self.id)
  end
end

É claro que você não terá todos os métodos AR no modelo VisitSession Mongoid, mas pelo menos poderá zombar da relação entre os dois muito bem.

Espero que isto ajude.