sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag använda Mongoid och ActiveRecord parallellt i Rails 3?

Det jag gjorde var bara att håna förhållandet med metoder i var och en av AR-modellen och Mongoid-modellen.

# 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

Naturligtvis kommer du inte att ha alla AR-metoder på VisitSession Mongoid-modellen men du kommer åtminstone att kunna håna förhållandet mellan de två ganska bra.

Hoppas detta hjälper.



  1. Hur kan jag göra Mongodb aggregatfilter för flera insamlingar?

  2. MongoDB - Begränsa resultaten av en fråga

  3. Åtkomst till MongoDB från Go

  4. MongoDb - Fråga en array