sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo puedo usar Mongoid y ActiveRecord en paralelo en Rails 3?

Lo que hice fue simplemente burlarme de la relación con los métodos en cada modelo AR y el modelo Mongoid así.

# 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

Por supuesto, no tendrá todos los métodos AR en el modelo VisitSession Mongoid, pero al menos podrá simular bastante bien la relación entre los dos.

Espero que esto ayude.