MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Atrybuty dynamiczne w Rails i Mongoid

Mongoid obsługuje teraz pola dynamiczne. Ich dokumentację można znaleźć tutaj:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields

Zasadniczo ostrzega, że ​​musisz być nieco ostrożny podczas ustawiania pól dynamicznych, ponieważ spowoduje to błąd braku metody, jeśli spróbujesz użyć metod pobierających i ustawiających dla pola, które nie istniało w dokumencie.

[],[]=są skrótami do read_attribute(),write_attribute() i powinny być używane, jeśli nie ustawisz dynamic_attributes = true w twoim pliku ./config/mongoid.yml file , w przeciwnym razie pojawi się błąd braku metody.

Ustawienie allow_dynamic_fields: true może być ryzykowne, ponieważ możesz zanieczyścić swoje dane/schemat niezamierzonymi polami spowodowanymi błędami w kodzie. Prawdopodobnie bezpieczniej jest ustawić to na false i wyraźnie użyj [],[]=

# 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
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Unikalne dokumenty używające wielu wartości w schemacie Mongoose

  2. Suma zagregowana MongoDB dla każdego klucza w poddokumencie

  3. Node.js, Mongo znajduje i zwraca dane

  4. Jak mogę użyć zmiennej regex w zapytaniu do MongoDB?

  5. Bazy danych dokumentów:nadmiarowe dane, referencje itp. (w szczególności MongoDB)