MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मॉडल विशेषता में वस्तु का संग्रह होता है

मैंने acts_as_list का उपयोग किया है क्रमबद्ध वस्तुओं को बहुत सफलतापूर्वक कार्यान्वित करने के लिए। इसके अतिरिक्त, मैं एक पृष्ठ के तत्वों को एक अलग मॉडल में सारगर्भित करूंगा, जिसे यहां PageElement . कहा जाता है ।

मुझे लगता है कि नोएसक्यूएल डेटाबेस पर स्विच करने की कोई आवश्यकता नहीं है (हालांकि मेरे पास इस दृष्टिकोण के खिलाफ कुछ भी नहीं है)। मैं जो सोच रहा हूं उसका एक मोटा स्केच यहां दिया गया है:

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. MongoDB सरणी में कई तत्वों का मिलान करता है

  2. DB.eval () मोंगो जावा ड्राइवर के साथ

  3. जावा ड्राइवर के साथ MongoDB में अंतिम सम्मिलित दस्तावेज़ आईडी प्राप्त करें

  4. MongoDB C# ड्राइवर का उपयोग करना:लपेटा या अन-लिपटा?

  5. GSSException:कोई मान्य क्रेडेंशियल प्रदान नहीं किया गया (तंत्र स्तर:कोई Kerberos tgt खोजने में विफल)