MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thuộc tính Model chứa tập hợp các đối tượng

Tôi đã sử dụng act_as_list để triển khai các đối tượng có thể sắp xếp rất thành công. Ngoài ra, tôi sẽ trừu tượng hóa các phần tử của một trang thành một mô hình riêng biệt, ở đây được gọi là PageElement .

Tôi nghĩ rằng không cần phải chuyển sang cơ sở dữ liệu NoSQL (mặc dù tôi không có gì chống lại cách tiếp cận này). Đây là bản phác thảo sơ bộ về những gì tôi đang nghĩ:

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. Định dạng Mongo DB ISO

  2. 3 cách trả lại mẫu tài liệu ngẫu nhiên từ bộ sưu tập MongoDB

  3. Chỉ trả về giá trị mảng trong phép chiếu mongo

  4. Cách phù hợp để làm việc với ISODate trong Mongoose là gì

  5. Cách chèn đối tượng mới mà không xóa đối tượng trước đó