MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thuộc tính động với Rails và Mongoid

Mongoid hiện hỗ trợ Trường động. Tài liệu của họ có thể được tìm thấy tại đây:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields

Về cơ bản, nó cảnh báo rằng bạn phải cẩn thận một chút trong cách đặt các trường động vì nó sẽ gây ra lỗi không có phương thức nếu bạn cố gắng sử dụng các phương thức getter và setter cho một trường không tồn tại trong tài liệu.

[], [] =là các phím tắt cho read_attribute (), write_attribute () và sẽ được sử dụng nếu bạn không đặt dynamic_attributes = true trong tệp ./config/mongoid.yml file của bạn , nếu không, bạn sẽ gặp lỗi không có phương pháp.

Đặt allow_dynamic_fields: true có thể rủi ro, vì bạn có thể gây ô nhiễm dữ liệu / lược đồ của mình với các trường không mong muốn do lỗi trong mã của bạn gây ra. Có lẽ sẽ an toàn hơn nếu đặt giá trị này thành false và sử dụng rõ ràng [], [] =

# 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. In kết quả truy vấn Mongo thành một tệp khi ở trong trình bao mongo

  2. Mongoose có hỗ trợ phương thức Mongodb `findAndModify` không?

  3. Cách dễ dàng để dừng mongod trên Mac OS X là gì?

  4. Sao lưu và khôi phục MongoDB

  5. Cách mới để quản lý cơ sở dữ liệu nguồn mở