通过 Mongoid 在 Mongodb 中存储项目范围的常量有什么好的常见做法吗?是否值得将它们保存在数据库中?
问问题
326 次
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 回答