sql >> Database teknologi >  >> NoSQL >> MongoDB

Modelattribut indeholder samling af objekt

Jeg har brugt acts_as_list til implementering af sorterbare objekter med stor succes. Derudover vil jeg abstrahere elementerne på en side til en separat model, her kaldet PageElement .

Jeg tror, ​​der ikke er behov for at skifte til en NoSQL-database (selvom jeg ikke har noget imod denne tilgang). Her er en grov skitse af, hvad jeg 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. Sådan forespørges mongodb med DBRef

  2. Sådan returneres JSON-data fra php MongoCursor

  3. Hvordan vælger man to tabelværdier (dokument) ad gangen efter bruger-id i mongoose?

  4. Navne på tilpassede skinner/mongoide forhold fungerer ikke