sql >> Database >  >> NoSQL >> MongoDB

Dynamische attributen met Rails en Mongoid

Mongoid ondersteunt nu dynamische velden. Hun documentatie is hier te vinden:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields

Het waarschuwt in feite dat je een beetje voorzichtig moet zijn met het instellen van dynamische velden, omdat het een no method-fout zal veroorzaken als je probeert de getter- en setter-methoden te gebruiken voor een veld dat niet in het document bestond.

[],[]=zijn sneltoetsen voor read_attribute(),write_attribute() , en moeten worden gebruikt als u dynamic_attributes = true niet instelt in uw ./config/mongoid.yml file , anders krijg je een 'geen methode'-fout.

Instelling allow_dynamic_fields: true kan riskant zijn, omdat u uw gegevens/schema kunt vervuilen met onbedoelde velden die worden veroorzaakt door bugs in uw code. Het is waarschijnlijk veiliger om dit in te stellen op false en gebruik expliciet [],[]=

# Raise a NoMethodError if value isn't set.
person.gender
person.gender = "Male"

# Retrieve a dynamic field safely.
person[:gender]
person.read_attribute(:gender)

# Write a dynamic field safely.
person[:gender] = "Male"
person.write_attribute(:gender, "Male")


  1. Redis, Node.js en Socket.io:Cross-server authenticatie en node.js begrip

  2. Hadoop-tellers en soorten tellers in MapReduce

  3. Vriendenrelaties opslaan in MongoDB?

  4. Mongoideus of MongoMapper?