sql >> Database teknologi >  >> NoSQL >> MongoDB

Dynamiske attributter med Rails og Mongoid

Mongoid understøtter nu Dynamic Fields. Deres dokumentation kan findes her:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields

Grundlæggende advarer den om, at du skal være lidt forsigtig med, hvordan du indstiller dynamiske felter, da det vil fremkalde en ingen metodefejl, hvis du forsøger at bruge getter- og setter-metoderne til et felt, der ikke fandtes i dokumentet.

[],[]=er genveje til read_attribute(),write_attribute() , og skal bruges, hvis du ikke indstiller dynamic_attributes = true i din ./config/mongoid.yml file , ellers får du fejlen ingen metode.

Indstilling af allow_dynamic_fields: true kan være risikabelt, da du kan forurene dine data/skema med utilsigtede felter forårsaget af fejl i din kode. Det er sandsynligvis mere sikkert at indstille dette til false og brug eksplicit [],[]=

# 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. Hvordan gemmer og afslutter redis.conf?

  2. Træk en post fra et array via Meteor

  3. Hvordan opdaterer man værdien af ​​et specifikt indlejret dokument i et array af et specifikt dokument i MongoDB?

  4. Hvordan får man array fra mongoDB-samlingen?