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

ustawianie wartości pola skrótu mongoid

Rzecz z polem mieszającym polega na tym, że może być tak dynamiczna, jak tylko chcesz. Dlatego, aby zapobiec zanieczyszczeniu schematu bazy danych niezamierzonymi polami spowodowanymi błędami w kodzie, ta funkcja jest domyślnie wyłączona.

Nie, w ogóle nie utknąłeś przy korzystaniu z dwuetapowych aktualizacji hashów!

[],[]=to skróty do read_attribute() i write_attribute() i powinny być używane, jeśli nie zawierasz Mongoid::Attributes::Dynamic . Jeśli spróbujesz użyć $set bez włączenia atrybutów dynamicznych pojawi się błąd braku metody, ponieważ nie widzi on atrybutów dynamicznych jako zdefiniowanych atrybutów.

Jeśli przeczytasz źródło Mongoid::Atrybuty::Dynamiczny wtedy okaże się, że jest to wymagane, aby dodać funkcję dynamicznych atrybutów.

Aby zaktualizować wartości, dołączając Mongoid::Attributes::Dynamic musisz wykonać następujące kroki:

thing = Thing.first
thing.set("info.endDate" => Time.now)
thing.reload # This will update the current variable 

W przeciwnym razie, jeśli potrzebujesz, możesz to łatwo pominąć i dokonać aktualizacji wartości metodą dwuetapową

Mam nadzieję, że to rzuci trochę światła na Twoje zapytanie.

Źródło:

Dynamiczne pola Rails mongoid – brak błędu metody

Atrybuty dynamiczne w Rails i Mongoid



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB/Mongoose Jak sparować dwa wpisy bazy danych bez konfliktów?

  2. Jak zaszyfrować pole w MongoDB

  3. Mongodb dopasowuje znaki akcentowane jako podstawowy znak

  4. MongoDB C# Driver „Nie znaleziono kursora”

  5. @EnableMongoAuditing dla MongoDB w Cloud Foundry / mongolab