sql >> Databasteknik >  >> NoSQL >> MongoDB

Modellattribut innehåller samling av objekt

Jag har använt acts_as_list för att implementera sorterbara objekt mycket framgångsrikt. Dessutom skulle jag abstrahera elementen på en sida till en separat modell, här kallad PageElement .

Jag tror att det inte finns något behov av att byta till en NoSQL-databas (även om jag inte har något emot detta tillvägagångssätt). Här är en grov skiss på vad jag tänker:

class Page < ActiveRecord::Base
  has_many :page_elements, :order => 'position'
  has_many :todo_lists,  :through => :page_elements, :source => :element, :source_type => 'TodoList'
  has_many :notes,       :through => :page_elements, :source => :element, :source_type => 'Note'
  has_many :files,       :through => :page_elements, :source => :element, :source_type => 'File'
  has_many :discussions, :through => :page_elements, :source => :element, :source_type => 'Discussion'
end

class PageElement < ActiveRecord::Base
  belongs_to :page
  belongs_to :element, :polymorphic => true
  acts_as_list :scope => :page
end

class TodoList < ActiveRecord::Base
  has_one :page_element, :as => :element
  has_one :page, :through => :page_elements 
end

class Note < ActiveRecord::Base
  has_one :page_element, :as => :element
  has_one :page, :through => :page_elements 
end

class File < ActiveRecord::Base
  has_one :page_element, :as => :element
  has_one :page, :through => :page_elements 
end

class Discussion < ActiveRecord::Base
  has_one :page_element, :as => :element
  has_one :page, :through => :page_elements 
end



  1. Förebyggande säkerhet med revisionsloggning för MongoDB

  2. Frågar efter en lista över alla distinkta fält i MongoDB-samlingen

  3. Tidskomplexitet för zadd när värde har högre poäng än högsta poäng som finns i den riktade sorterade uppsättningen

  4. Vad är den exakta skillnaden mellan mongod och mongos