0

通过 Mongoid 在 Mongodb 中存储项目范围的常量有什么好的常见做法吗?是否值得将它们保存在数据库中?

4

1 回答 1

2

常量就是常量。Pi 是一个常数。你不需要它的数据库,你知道它的价值。但可能您的意思更像是“一个非常静态且不太可能经常更改的值”。如果是这种情况,那么将这些值存储在数据库中确实是有意义的。这种东西可能有宝石,但在香草 Mongoid 我会做这样的事情:

class Setting
  field :_id, type: String
  field :value

  def self.read_value name
    # return value or nil
    Setting.where(_id: name).first.try(:value)
  end

  def self.write_value name, value
    where(_id: name).upsert(value: value)
  end
end

# usage
num_workers = Setting.read_value 'number_of_workers'
Setting.write_value "upload_dir", '/var/www/uploads'
于 2012-12-10T22:03:06.643 回答