sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik Mongoid en ActiveRecord parallel gebruiken in Rails 3?

Wat ik deed was gewoon de relatie met methoden in zowel het AR-model als het Mongoid-model zo belachelijk maken.

# 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

Natuurlijk heb je niet alle AR-methoden op het VisitSession Mongoid-model, maar je kunt op zijn minst de relatie tussen de twee redelijk goed bespotten.

Ik hoop dat dit helpt.



  1. Active Record-generatoren gebruiken na installatie van Mongoid?

  2. Laravel - Taken in volgorde uitvoeren

  3. mongodb aggregeert meerdere arrays

  4. mongoDB sharding voorbeeld