MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso utilizzare Mongoid e ActiveRecord in parallelo in Rails 3?

Quello che ho fatto è stato semplicemente deridere la relazione con i metodi in ciascun modello AR e il modello Mongoid in questo modo.

# 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

Ovviamente non avrai tutti i metodi AR sul modello Mongoid di VisitSession, ma sarai almeno in grado di deridere abbastanza bene la relazione tra i due.

Spero che questo aiuti.