MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Atribut model berisi kumpulan objek

Saya telah menggunakan acts_as_list untuk mengimplementasikan objek yang dapat diurutkan dengan sangat sukses. Selain itu, saya akan mengabstraksi elemen halaman menjadi model terpisah, di sini disebut PageElement .

Saya pikir tidak perlu beralih ke database NoSQL (walaupun saya tidak menentang pendekatan ini). Berikut adalah sketsa kasar dari apa yang saya pikirkan:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat mengimpor mongodb

  2. Cara mengurutkan data di Mongo dalam urutan khusus

  3. Cara Memformat Angka dalam SQL

  4. Praktik terbaik untuk menyimpan hash md5 secara efisien di MongoDB

  5. Masalah dengan MongoDB GridFS Menyimpan File dengan Node.JS