MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je utiliser Mongoid et ActiveRecord en parallèle dans Rails 3 ?

Ce que j'ai fait, c'est juste simuler la relation avec les méthodes dans le modèle AR et le modèle Mongoid comme ça.

# 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

Bien sûr, vous n'aurez pas toutes les méthodes AR sur le modèle VisitSession Mongoid, mais vous pourrez au moins vous moquer assez bien de la relation entre les deux.

J'espère que cela vous aidera.