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

एक मोंगोइड मॉडल में गतिशील विशेषताओं की सूची बनाएं

बस अपने मॉडल में कुछ इस तरह शामिल करें:

module DynamicAttributeSupport

  def self.included(base)
    base.send :include, InstanceMethods
  end

  module InstanceMethods
    def dynamic_attributes
      attributes.keys - _protected_attributes[:default].to_a - fields.keys
    end

    def static_attributes
      fields.keys - dynamic_attributes
    end
  end

end

और यहाँ इसके साथ जाने के लिए एक युक्ति है:

require 'spec_helper'

describe "dynamic attributes" do

  class DynamicAttributeModel
    include Mongoid::Document
    include DynamicAttributeSupport
    field :defined_field, type: String
  end

  it "provides dynamic_attribute helper" do
    d = DynamicAttributeModel.new(age: 45, defined_field: 'George')
    d.dynamic_attributes.should == ['age']
  end

  it "has static attributes" do
    d = DynamicAttributeModel.new(foo: 'bar')
    d.static_attributes.should include('defined_field')
    d.static_attributes.should_not include('foo')
  end

  it "allows creation with dynamic attributes" do
    d = DynamicAttributeModel.create(age: 99, blood_type: 'A')
    d = DynamicAttributeModel.find(d.id)
    d.age.should == 99
    d.blood_type.should == 'A'
    d.dynamic_attributes.should == ['age', 'blood_type']
  end
end


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb एकत्रीकरण

  2. नेवला समग्र परिणाम को क्रमबद्ध करता है

  3. मोंगो क्वेरी में लंबा समय लगता है। इसे और तेज़ कैसे करें?

  4. क्या मोंगो की ऑब्जेक्ट आईडी को अपने विशिष्ट पहचानकर्ता के रूप में उपयोग करना ठीक है? यदि हां, तो मैं इसे एक स्ट्रिंग में कैसे परिवर्तित कर सकता हूं और इसे स्ट्रिंग द्वारा देख सकता हूं?

  5. Node.js MongoDB संग्रह। ढूँढें ()। toArray कुछ भी नहीं देता है